Junior — Middle
Kāda ir minimālā pavedienu skaits, kas nepieciešams, lai notiktu savstarpēja bloķēšana (Deadlock)?
sobes.tech AI
Atbilde no AI
Minimālais pavedienu skaits, kas nepieciešams, lai rastos savstarpēja bloķēšana (Deadlock), ir divi.
Savstarpēja bloķēšana notiek, kad divi vai vairāk pavedieni vienlaikus tur resursus un katrs no tiem gaida, kad cits pavediens atbrīvos resursu, ko tas tur. Piemēram:
- Pavediens A aizslēdz resursu 1 un gaida resursu 2.
- Pavediens B aizslēdz resursu 2 un gaida resursu 1.
Abi pavedieni paliek mūžīgi bloķēti, jo katrs gaida, kad cits pavediens atbrīvos resursu, ko tas tur.
Pseudokoda piemērs:
// Pavediens 1
lock(resurs1)
wait()
lock(resurs2)
// Pavediens 2
lock(resurs2)
wait()
lock(resurs1)
Tādējādi, deadlockam pietiek ar diviem pavedieniem un diviem resursiem.