死锁

死锁:在并发环境下,各进程因为争夺资源而造成的一种互相等待对方手里的资源,导致进程都阻塞,无法向前推进的现象。发生死锁后,如果没有外力的干涉,这些进程都无法向前推进。

死锁:各进程互相等待对方手里的资源,无法向前推进的现象。
饥饿:由于长时间得不到想要的进程,某进程无法向前推进的现象。

产生死锁的必要条件:
互斥条件:只有对必须互斥使用的资源进行争抢才会导致死锁
不可剥夺条件
请求和保持的条件:进程保持了至少一个资源,同时又在源源不断的请求新的资源,而新的资源又是被别的资源所占有的。
循环等待:存在一种进程资源的循环等待链。

什么时候会发生死锁:
1.各个进程对不可剥夺的资源发生竞争
2.各进程推进顺序非法
3.信号量使用不当

死锁的处理策略:
预防死锁:破坏四个必要条件中的一个
避免死锁:用某种方法避免死锁进入不安全状态(银行家算法)
死锁的检测与解除:允许死锁的发生,不过操作系统能检测出死锁,并且解除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值