Definition
A concurrency failure in which two or more tasks wait indefinitely for resources held by each other (or for conditions that can only be satisfied by the others), preventing any of them from making forward progress.
Principle
Principle
Deadlock arises when the system simultaneously satisfies the classic resource-allocation conditions: mutual exclusion, hold-and-wait, no preemption, and circular wait; these conditions form the organizing constraint that permits a permanent cyclic dependency.
Demonstration
Demonstration
Two threads A and B: A holds lock L1 and requests L2; B holds L2 and requests L1. Neither can proceed because each is waiting for the other's resource, producing an indefinite stall.
Misapplication
Misapplication
Calling any long pause or slow response a deadlock (for example, confusing heavy I/O latency, scheduling delays, or livelock with true resource-cycle deadlock).
Consequence
Consequence
Recognizing deadlock correctly leads to targeted remedies: prevent one of the Coffman conditions (for example, impose a global resource ordering), detect cycles and recover (preemption or rollback), or design avoidance algorithms; misdiagnosis leads to ineffective fixes.
Reversal
Reversal
The inverse is a system guaranteed to make progress (liveness): no circular waits, resources are preemptible or allocated in an order that prevents cycles.
Boundary
Boundary
Applies to concurrent resource-allocation problems (threads, processes, distributed locks, DB transactions). Excludes single-thread logic errors, pure performance degradation without cyclic dependency, and transient waits that eventually resolve. Distributed deadlocks and lock convoys are in-scope; memory faults alone are not.
Semantic Tension
Semantic Tension
Tension exists with livelock and starvation: deadlock is a stable stuck state (no state changes), whereas livelock is active but non-progressing, and starvation denotes unfair denial without a mutual cycle.
Synthesis
Synthesis
Deadlock is the stable manifestation of a cyclic resource dependency under the four Coffman conditions; treating it as such directs prevention (break a condition), detection (find cycles), or recovery (preempt or roll back).