What is a deadlock?
A deadlock is a situation in which two or more processes are unable to proceed with their execution because each is waiting for a resource (such as a CPU, memory, or input/output device) that is held by another process in the set.