Sobes.tech
Senior

Какво е deadlock?

sobes.tech AI

Отговор от AI

Deadlock (взаимна блокировка) — ситуация в многопоточни или разпределени системи, когато два или повече процеса (или нишки) чакат ресурси, заети от други, и никой от тях не може да продължи.

Класически пример за deadlock:

  • Процес A е получил ресурс 1 и чака ресурс 2.
  • Процес B е получил ресурс 2 и чака ресурс 1.

Двата процеса блокират взаимно завинаги.

За да се избегнат deadlock-ите, се прилагат:

  • Иерархия на придобиване на ресурси (всички процеси придобиват ресурси в една и съща поредност).
  • Таймаути за изчакване.
  • Алгоритми за откриване и разрешаване на deadlock-и.

В тестовете е важно да се проверят сценарии, които могат да доведат до deadlock-и, за да се гарантира стабилността и отказоустойчивостта на системата.