Senior
Wat is een deadlock?
sobes.tech AI
Antwoord van AI
Deadlock (wederzijdse blokkering) — situatie in multithread- of gedistribueerde systemen waarin twee of meer processen (of threads) wachten op resources die door elkaar worden gebruikt, en geen van hen kan doorgaan.
Voorbeeld van een klassiek deadlock:
- Proces A heeft resource 1 verworven en wacht op resource 2.
- Proces B heeft resource 2 verworven en wacht op resource 1.
Beide processen blokkeren elkaar voor altijd.
Om deadlocks te voorkomen, worden toegepast:
- Een hiërarchie van resourceverwerving (alle processen verwerven resources in dezelfde volgorde).
- Time-outs.
- Detectie- en oplossingsalgoritmen voor deadlocks.
In tests is het belangrijk om scenario's te controleren die tot deadlocks kunnen leiden, om de stabiliteit en fouttolerantie van het systeem te waarborgen.