mutex — módulo mutex¶
O módulo mutex fornece uma primitiva de exclusão mútua para proteger seções críticas de código ou dados compartilhados contra acesso concorrente por uma rotina de serviço de interrupção e a thread principal.
A aquisição e a liberação do bloqueio são feitas por meio de um gerenciador de contexto (instrução with), que bloqueia até que o mutex esteja disponível. Um método não bloqueante Mutex.test() também é fornecido.
Exemplo:
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 – objeto mutex¶
- class mutex.Mutex¶
Cria um objeto mutex desbloqueado.
- release() None¶
Desbloqueia o mutex. Lança
mutex.MutexExceptionse o mutex não estiver bloqueado no momento.
Exceções¶
- exception mutex.MutexException¶
Subclasse de
OSError. Lançada porMutex.releasequando o mutex já está desbloqueado.