mutex — mutex modul#

Modul mutex pruža primitiv za međusobno isključivanje radi zaštite kritičnih dijelova koda ili dijeljenih podataka od istovremenog pristupa od strane prekidne servisne rutine i glavne dretve.

Stjecanje i otpuštanje brave izvodi se putem upravitelja konteksta (with naredba), koji blokira dok mutex ne postane dostupan. Također je dostupna neblokirajuća metoda Mutex.test().

Primjer:

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()

klasa Mutex – mutex objekt#

class mutex.Mutex#

Stvara otključani mutex objekt.

release() None#

Otključava mutex. Podiže mutex.MutexException ako mutex trenutno nije zaključan.

test() bool#

Pokušava steći mutex na neblokirajući način. Vraća True u slučaju uspjeha i False ako je mutex već zaključan.

Za stjecanje mutexa na blokirajući način, koristite instancu kao upravitelj konteksta (with naredba). Mutex se automatski otpušta pri izlasku.

Iznimke#

exception mutex.MutexException#

Podklasa OSError. Podiže je Mutex.release kada je mutex već otključan.