mutex — modul mutex¶
Modul mutex poskytuje primitivum vzájemného vyloučení pro ochranu kritických sekcí kódu nebo sdílených dat před souběžným přístupem z obslužné rutiny přerušení a hlavního vlákna.
Získání a uvolnění zámku se provádí prostřednictvím správce kontextu (příkaz with), který blokuje, dokud není mutex k dispozici. K dispozici je také neblokující metoda Mutex.test().
Příklad:
from mutex import Mutex
mtx = Mutex()
# Acquire for a critical section (blocks if already held).
with mtx:
# ... protected code, e.g. shared buffer access ...
pass
# Or try without blocking.
if mtx.test():
try:
# ... protected code ...
pass
finally:
mtx.release()
třída Mutex – objekt mutex¶
- class mutex.Mutex¶
Vytvoří odemčený objekt mutex.
- release() None¶
Odemkne mutex. Vyvolá
mutex.MutexException, pokud mutex není aktuálně zamčen.
Výjimky¶
- exception mutex.MutexException¶
Podtřída
OSError. Vyvolaná metodouMutex.release, když je mutex již odemčen.