mutex --- modul mutex

Modul mutex menyediakan primitif mutual-exclusion untuk melindungi bagian kritis kode atau data bersama dari akses bersamaan oleh rutinitas layanan interupsi dan thread utama.

Akuisisi dan pelepasan kunci dilakukan melalui context manager (pernyataan with), yang memblokir hingga mutex tersedia. Metode Mutex.test() yang tidak memblokir juga disediakan.

Contoh:

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 -- objek mutex

class mutex.Mutex

Membuat objek mutex yang tidak terkunci.

release() None

Membuka kunci mutex. Memunculkan mutex.MutexException jika mutex saat ini tidak terkunci.

test() bool

Mencoba mengakuisisi mutex dengan cara yang tidak memblokir. Mengembalikan True jika berhasil dan False jika mutex sudah terkunci.

Untuk mengakuisisi mutex dengan cara memblokir, gunakan instans sebagai context manager (pernyataan with). Mutex dilepaskan secara otomatis saat keluar.

Pengecualian

exception mutex.MutexException

Subkelas dari OSError. Dimunculkan oleh Mutex.release ketika mutex sudah tidak terkunci.