Een deadlock is een toestand waarin twee of meer threads elk voor altijd geblokkeerd zijn, elk wachtend op een resource die een ander vasthoudt. Niets maakt vooruitgang.
De vier noodzakelijke (Coffman-)voorwaarden
Alle vier moeten tegelijk gelden — verwijder er één en deadlock is onmogelijk:
1. Mutual exclusion → a resource is held exclusively (only one holder at a time)
2. Hold and wait → a thread holds one resource while waiting to acquire another
3. No preemption → resources can't be forcibly taken; only released voluntarily
4. Circular wait → a cycle: T1 waits for R2 (held by T2), T2 waits for R1 (held by T1)
