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.