Sobes.tech
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.