死锁是计算机执行程序在执行过程中, 两个或多个进程, 因为互相占用了对方所需的资源, 而出现的永久等待.
满足以下条件时, 死锁可能出现
[ 1 ] 资源无法共享
[ 2 ] 进程接受了某些资源后, 还需请求其他资源.
[ 3 ] 资源无法强制回收
为了避免条件 [ 1 ] [ 2 ] , 而设计出来方案, 称为「死锁避免」.
具体做法是, 把「无法共享的资源」转变为「可共享资源」. 要求进程一次请求完, 所有需要的资源.
为了避免条件 [ 3 ] , 而设计出来方案, 称为「死锁检测」.
具体做法是, 强制回收一些已经分配出去的资源.
参考