Deadlock



Imagine an uncontrolled intersection without any traffic signs. Here drivers have to respect the priority to the right system. In the situation shown in the left picture, none of the cars can continue. n practice, one driver would give a hand signal to let one of the other cars go first.

A similar situation can occur when several computer processes running in parallel want to access shared resources. In a circular wait scenario, processes block each other from continuing execution as they wait for a resource held by one of their peers.

Since computer processes cannot hand wave at each other, clear rules are needed to avoid this situation in the first place.