Ein Deadlock tritt auf, wenn zwei (oder mehr) Transaktionen jeweils ein Schloss halten, das die andere benötigt, sodass keine voranschreiten kann — sie sind für immer fest, während sie auf die jeweils andere warten. Datenbanken erkennen Deadlocks und beheben sie durch Abbruch einer Transaktion (das "Opfer"), die erneut versucht werden muss. Das Verständnis der Ursachen und Prävention ist wichtig für gleichzeitige Anwendungen.
Wie ein Deadlock entsteht
Transaction A: locks row 1, then wants row 2
Transaction B: locks row 2, then wants row 1
→ A waits for B (to release row 2), B waits for A (to release row 1) → DEADLOCK
Neither can proceed; they're waiting on each other in a cycle.
