死锁概述

来源:互联网 发布:怎样修改淘宝评价内容 编辑:程序博客网 时间:2024/06/07 00:29

死锁规范定义:如果一个进程集合中的每个进程都在等待只能由该进程集合中的其他进程才能引发的事件,那么该进程集合就是死锁的。
资源死锁的条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2)占有和等待条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不可抢占条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 环路等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
死锁发生时,以上四个条件一定是同时满足的,如果其中有任一个条件不成立,死锁就不会发生。
这里写图片描述
死锁建模:用有向图建立上述四个条件的模型,有两类节点:圆形表示进程,方形表示资源
四种处理死锁的策略:

1. 忽略该问题,也许如果你忽略它,它也会忽略你(鸵鸟算法)2. 检测死锁并恢复,让死锁发生,检测它们是否发生,一旦发生死锁,采取行动解决问题3. 仔细对自由进行分配,动态地避免死锁4. 通过破坏引起死锁的四个必要条件之一,防止死锁的发生