What is a Deadlock?
Deadlock is a situation, in that processes never complete executing and system resources are tied-up, preventing another job form starting.
If the resources are not available at which time when the process enters a wait state, a process requests resources. Waiting processes may not at all again change state, since the resources they have requested are held through other waiting processes, thereby causing deadlock.