Sobes.tech
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.