Mutex iku lock sing njamin mutual exclusion — mung siji thread sing bisa nyekel lan mlebu critical section sing dilindhungi ing saben wektu. Semaphore nggeneralisasi iki kanggo ngidini nganti N sing nyekel bebarengan.
Mutex iku lock sing njamin mutual exclusion — mung siji thread sing bisa nyekel lan mlebu critical section sing dilindhungi ing saben wektu. Semaphore nggeneralisasi iki kanggo ngidini nganti N sing nyekel bebarengan.
acquire() ngurangi (blokir ing 0), release() nambah. Mutex sejatiné semaphore N=1 nanging kanthi semantik kepemilikan.lock = threading.Lock()
def transfer(a, b, amt):
with lock: # critical section — one thread at a time
a.balance -= amt
b.balance += amt
# Semaphore: cap concurrent DB connections at 10
sem = threading.Semaphore(10)
def query():
with sem: # up to 10 threads run this concurrently
db.execute(...)
with/RAII/defer supaya pangeculan otomatis senadyan ing pengecualian.Iki alat saben dina kanggo nglindhungi kahanan dinuduhaké. Mutex nyerialaké akses kanggo nyegah race; semaphore nyetèl kacepetan gudang sumber daya (sambungan, idin, watesan rate). Milih primitif sing bener lan njaga critical section cendhak iku bèdané antara bener-lan-cepet karo bener-nanging-alon.
Pustaka pitakon wawancara IT kanthi jawaban rinci — saka Junior nganti Senior.
Nyumbang