Deadlock iku kahanan ing endi loro utawa luwih thread saben-saben ngenteni selawasé kanggo sumber daya sing dicekel liyané, dadi ora ana sing bisa maju. Iki mbutuhaké papat kahanan sing kudu ana bebarengan (kahanan Coffman).
Deadlock iku kahanan ing endi loro utawa luwih thread saben-saben ngenteni selawasé kanggo sumber daya sing dicekel liyané, dadi ora ana sing bisa maju. Iki mbutuhaké papat kahanan sing kudu ana bebarengan (kahanan Coffman).
Pecahna salah siji lan deadlock dadi mokal.
Thread 1 holds A, wants B ─┐
├─ circular wait → deadlock
Thread 2 holds B, wants A ─┘
# DEADLOCK: threads lock in opposite orders
def t1():
with lockA:
with lockB: ... # T1: A then B
def t2():
with lockB:
with lockA: ... # T2: B then A ← cycle!
# FIX: impose a global lock ordering (always A before B)
def safe():
with lockA:
with lockB: ... # everyone acquires in the same order
tryAcquire(timeout), mundur lan coba manèh — mecah hold-and-wait.Deadlock mbekukake sistem kanthi sepi — ora crash, mung panjaluk sing mandheg. Nyebut papat kahanan nuduhaké sampeyan bisa nalar babagan kenapa iku kedadéan lan milih pencegahan sing pas (biasané urutan lock sing konsisten), tinimbang nyebar lock lan ngarep-arep.
Pustaka pitakon wawancara IT kanthi jawaban rinci — saka Junior nganti Senior.
Nyumbang