Deadlock hali ne inda threads biyu ko fiye kowanne ke jira har abada ga albarkatun da sauran ke riƙewa, don haka babu wanda zai iya ci gaba. Yana buƙatar sharuɗɗa huɗu su kasance a lokaci guda (Coffman conditions).
Deadlock hali ne inda threads biyu ko fiye kowanne ke jira har abada ga albarkatun da sauran ke riƙewa, don haka babu wanda zai iya ci gaba. Yana buƙatar sharuɗɗa huɗu su kasance a lokaci guda (Coffman conditions).
Karya ɗaya kuma deadlock ba zai yiwu ba.
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), back off ka retry — yana karya hold-and-wait.Deadlocks suna daskare tsarin a shiru — babu crash, kawai requests da suka rataye. Kiran sharuɗɗa huɗu yana nuna kana iya tunani game da dalilin da yake faruwa kuma ka zaɓi rigakafi da aka nufa (yawanci lock ordering mai daidaici), maimakon yaɗa locks kana fata.
Ɗakin karatu na tambayoyin hira na IT tare da amsoshi cikakke — daga Junior zuwa Senior.
Ba da Gudummawa