死锁是什么?
系统中存在一组(至少两个或以上)进程,他们中的每一个都占用了某种资源而又等待其中另外一个所占用的资源,这种等待永远不会结束。
四个必要的条件:
- 互斥条件:每个资源每次只能分配给一个进程使用,某个进程一旦获取资源,就把持住。不准其他进程使用;
- 循环等待条件:环路
- 部分分配(占用并等待):进程不是一次性的获取所有资源,而是先获取部分资源,还允许继续申请其他资源;
- 非剥夺条件:不能强行剥夺其他进程正在使用的资源
预防死锁
只需要破坏这四个必要条件之一就可以
系统中存在一组(至少两个或以上)进程,他们中的每一个都占用了某种资源而又等待其中另外一个所占用的资源,这种等待永远不会结束。
四个必要的条件:
只需要破坏这四个必要条件之一就可以