mutex — modulul mutex¶
Modulul mutex oferă o primitivă de excludere mutuală pentru protejarea secțiunilor critice de cod sau a datelor partajate de accesul concurent al unei rutine de tratare a întreruperilor și al firului principal.
Achiziția și eliberarea blocării se realizează printr-un manager de context (instrucțiunea with), care se blochează până când mutexul devine disponibil. Este furnizată și o metodă neblocantă Mutex.test().
Exemplu:
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 – obiect mutex¶
- class mutex.Mutex¶
Creează un obiect mutex deblocat.
- release() None¶
Deblochează mutexul. Generează
mutex.MutexExceptiondacă mutexul nu este blocat în prezent.
Excepții¶
- exception mutex.MutexException¶
Subclasă a
OSError. Generată deMutex.releaseatunci când mutexul este deja deblocat.