Sobes.tech
Junior — Middle

O'zaro blokirovka (Deadlock) yuzaga kelishi uchun minimal jarayonlar soni qancha?

sobes.tech AI

AIdan javob

Deadlock yuzaga kelishi uchun minimal soni ikki bo‘lishi kerak.

Deadlock shartlari: ikki yoki undan ortiq oqimlar bir vaqtning o‘zida resurslarni ushlab turadi va har biri boshqa oqim tomonidan egallangan resursni bo‘shatishni kutadi. Masalan:

  • A oqimi 1-resursni bloklaydi va 2-resursni kutadi.
  • B oqimi 2-resursni bloklaydi va 1-resursni kutadi.

Ikki oqim ham doimiy ravishda bloklanadi, chunki har biri boshqa oqim egallagan resursni bo‘shatishni kutmoqda.

Pseudokod misoli:

// Oqim 1
lock(resurs1)
wait()
lock(resurs2)

// Oqim 2
lock(resurs2)
wait()
lock(resurs1)

Shunday qilib, deadlock uchun ikki oqim va ikki resurs yetarli.