Sobes.tech
Junior — Middle

Koji je minimalni broj niti potreban za nastanak međusobnog blokiranja (Deadlock)?

sobes.tech АИ

Одговор од АИ

Минималан број нитова потребних за настанак међусобног блокирања (Deadlock) је два.

Међусобно блокирање се дешава када два или више нитова истовремено држе ресурсе и сваки од њих чека да други ослободи ресурс који држи. На пример:

  • Нит A заузима ресурс 1 и чека ресурс 2.
  • Нит B заузима ресурс 2 и чека ресурс 1.

Оба нита су заувек блокирана, јер сваки чека да други ослободи ресурс који држи.

Пример у псевдокоду:

// Нит 1
lock(ресурс1)
wait()
lock(ресурс2)

// Нит 2
lock(ресурс2)
wait()
lock(ресурс1)

Дакле, за deadlock довољна су два нита и два ресурса.