1.为什么会出现死锁?
因为并发的进程分别拥有一部分资源,而又想抢占其他进程的资源。(如果只有一个进程,绝对不会出现死锁)
//资源包括:CPU,I/O通道,各类存储,设备和数据,文件,数据库,信号量(且要求资源不会突然死掉)
2.死锁模型
P代表进程 R代表资源,R里面的点的个数代表资源的个数
不会发生死锁,因为P3使用完R3之后一定会释放
会出现死锁。
不会出现死锁(虽然有环)
4.死锁的特征(只是死锁的必要条件)
(1)互斥:资源同一时间只能被一个进程拥有,如果可以同时拥有,也不会出现死锁
(2)持有并等待:进程保持至少一个资源,并且在等待获取其他进程持有的额外资源
(3)无抢占:一个资源只能被进程完成任务后自动释放
(4)循环等待:就是几个进程互相等待
5.死锁的处理办法