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 довољна су два нита и два ресурса.