系列进程互相持有其他进程所需要的资源, 造成互相等待的局面
死锁的预防
上面介绍了死锁的四个必要条件, 只要破坏了四个必要条件中的任意一个条件, 死锁就不会发生了.
1.打破互斥条件
就是允许进程同时访问某些资源...但是, 有的资源不允许被同时访问, 这是由资源本身的属性决定的. 所以, 这种办法并无使用价值
2.打破禁止抢占
就是允许进程强行从占有者那里夺取资源....这种预防思索的方法实现起来困难, 会降低系统性能.
3.打破持有和等待状态
可以实行资源预先分配策略. 即进程在运行前一次性地向系统申请它所需要的全部资源....如果某个进程所需的全部资源得不到满足, 则不分配任何资源, 此进程暂不运行. 只有当系统能够满足当前进程的全部资源需求时, 才一次性地将所申请的资源全部分配给该进程....这是由于进程执行时是动态的, 不可预测的.
资源利用率低. 无论所分资源何时用到, 一个进程要占有全部资源后才能执行.