mutex — mutex modul¶
A mutex modul egy kölcsönös kizárási primitívet nyújt a kód kritikus szakaszainak vagy a megosztott adatoknak a megszakítási kiszolgáló rutin és a fő szál általi egyidejű hozzáférés elleni védelmére.
A zár megszerzése és felszabadítása egy kontextuskezelővel (with utasítás) történik, amely blokkol, amíg a mutex elérhetővé nem válik. Egy nem blokkoló Mutex.test() metódus is rendelkezésre áll.
Példa:
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()
class Mutex – mutex objektum¶
- class mutex.Mutex¶
Létrehoz egy nem zárolt mutex objektumot.
- release() None¶
Feloldja a mutex zárolását.
mutex.MutexExceptionkivételt vált ki, ha a mutex jelenleg nincs zárolva.
Kivételek¶
- exception mutex.MutexException¶
Az
OSErroralosztálya. AMutex.releaseváltja ki, ha a mutex már fel van oldva.