mutex — módulo mutex¶
El módulo mutex proporciona una primitiva de exclusión mutua para proteger secciones críticas de código o datos compartidos del acceso concurrente por parte de una rutina de servicio de interrupción y el hilo principal.
La adquisición y liberación del bloqueo se realiza mediante un gestor de contexto (sentencia with), que se bloquea hasta que el mutex esté disponible. También se proporciona un método Mutex.test() no bloqueante.
Ejemplo:
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¶
Crea un objeto mutex desbloqueado.
- release() None¶
Desbloquea el mutex. Lanza
mutex.MutexExceptionsi el mutex no está bloqueado actualmente.
Excepciones¶
- exception mutex.MutexException¶
Subclase de
OSError. La lanzaMutex.releasecuando el mutex ya está desbloqueado.