A set of blocked processes each holding a resource and waiting to acquire a resource held by another process in the set.
Example
System has 2 disk drives.
P0 and P1 each hold one disk drive and each needs another one.
Example
semaphores A and B, initialized to 1
P0 P1
wait (A); wait(B)
wait (B); wait(A)