mutex — modulo mutex¶
Il modulo mutex fornisce una primitiva di mutua esclusione per proteggere le sezioni critiche di codice o i dati condivisi dall’accesso concorrente da parte di una routine di servizio di interrupt e del thread principale.
L’acquisizione e il rilascio del lock vengono eseguiti tramite un context manager (istruzione with), che si blocca finché il mutex non è disponibile. È fornito anche un metodo non bloccante Mutex.test().
Esempio:
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 – oggetto mutex¶
- class mutex.Mutex¶
Crea un oggetto mutex sbloccato.
- release() None¶
Sblocca il mutex. Solleva
mutex.MutexExceptionse il mutex non è attualmente bloccato.
Eccezioni¶
- exception mutex.MutexException¶
Sottoclasse di
OSError. Sollevata daMutex.releasequando il mutex è già sbloccato.