Senior
Какво е deadlock?
sobes.tech AI
Отговор от AI
Deadlock (взаимна блокировка) — ситуация в многопоточни или разпределени системи, когато два или повече процеса (или нишки) чакат ресурси, заети от други, и никой от тях не може да продължи.
Класически пример за deadlock:
- Процес A е получил ресурс 1 и чака ресурс 2.
- Процес B е получил ресурс 2 и чака ресурс 1.
Двата процеса блокират взаимно завинаги.
За да се избегнат deadlock-ите, се прилагат:
- Иерархия на придобиване на ресурси (всички процеси придобиват ресурси в една и съща поредност).
- Таймаути за изчакване.
- Алгоритми за откриване и разрешаване на deadlock-и.
В тестовете е важно да се проверят сценарии, които могат да доведат до deadlock-и, за да се гарантира стабилността и отказоустойчивостта на системата.