Why it matters
Deadlocks are hard to reproduce and diagnose. Preventing them via disciplined patterns is much cheaper than debugging live incidents.
Advertisement
The architecture
Four conditions (Coffman): mutual exclusion, hold and wait, no preemption, circular wait. All four must hold for deadlock.
Break any one: no deadlock possible.
Advertisement
How it works end to end
Prevention: global lock ordering (break circular wait). Always acquire locks in same order.
Detection: timeout on lock acquisition. If timeout, release held locks and retry.
Avoidance: banker's algorithm. Only grant lock if safe. Impractical at scale.