Deadlock. Another name: Dead-end. A situation in a multitask system when several processes are in the state of infinite wait for resources trapped by the processes themselves. Here is an example. Assume there are two tasks with low (A) and high (B) priority in the system, which use two resources - X and Y. At moment T1 task A locks resource X. Then at moment T2 task A is displaced by a more priority task B which locks resource Y at moment T3. If task B tries to lock resource X (T4) without releasing resource Y it will be set into waiting state while execution of task A will be continued. If at moment T5 task A tries to lock resource Y without releasing X a state of deadlock appears - none of the tasks (A) and (B) can get control.
- Wikipedia. "Deadlock"
- Rahul V. Patil and Boby George. Tools And Techniques to Identify Concurrency Issues