死锁的原因、条件和避免死锁的方法
来源:互联网 发布:大型企业网络设计方案 编辑:程序博客网 时间:2024/06/11 01:04
产生死锁的原因主要是:
(1) 因为系统资源不足。
(2) 进程运行推进的顺序不合适。
(3) 资源分配不当等。
产生死锁的四个必要条件:
(1)互斥条件:一个资源每次只能被一个进程使用。
(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
避免死锁:
解决死锁问题的策略:
1、条件一:互斥条件
条件一念一否定的,因为资源的互斥性是由其自身的性质决定的。但是可以采用虚拟设备技术能排除非共享设备死锁的可能。
2、条件二:不剥夺条件
很难实现。系统一般让资源占有者自己主动释放资源,而不是采用抢占的方式。
3、条件三:占有并等待
在资源分配策略上可以采取静态的一次性资源分配的方法来保证死锁不可能发生,这是一种很保守的静态预防死锁的方法,但是资源利用率低下。
4、条件四:环路条件
在进行资源分配前检查是否会出现环路,预测是否可能发生死锁,只要有这种可能就不予以分配。即采用动态分配资源的方法。
总结来看解决死锁的策略有以下几个:
1、采用资源静态分配方法预防死锁。
2、采用资源动态分配、有效的控制分配方法来避免死锁。
3、当死锁发生时检测出死锁,并设法修复。
- 死锁的原因、条件和避免死锁的方法
- 死锁的原因、条件和避免死锁的方法
- 死锁的原因、条件和避免死锁的方法
- linux--死锁(产生死锁的原因、条件和避免方法)
- 死锁产生的原因及条件、如何避免死锁
- 死锁发生的条件,如何避免死锁
- 死锁的原因 预防 和避免
- 死锁的原因分析和避免办法
- 死锁&死锁的产生条件&死锁的避免
- 死锁的定义、产生原因、必要条件、避免死锁和解除死锁的方法
- 死锁的定义、产生原因、必要条件、避免死锁和解除死锁的方法
- 死锁的定义、产生原因、必要条件、避免死锁和解除死锁的方法
- 死锁的四个必要条件和避免死锁的方法
- 死锁,死锁产生的原因,产生死锁的必要条件和解决死锁的方法
- JAVA 死锁,死锁产生的原因,产生死锁的必要条件和解决死锁的方法
- 死锁 避免死锁的常见方法
- 死锁产生的条件和处理死锁的方法
- 死锁产生的条件和解决死锁的方法
- IOS学习之笔记碎记2
- 速度追踪及手势检测
- 【bzoj1911】[Apio2010]特别行动队 DP斜率优化
- iOS证书p12文件
- 移动端H5各种各样的列表的制作方法(二) by FungLeo
- 死锁的原因、条件和避免死锁的方法
- C++第一次实验+1
- (一般)POJ-2718 DFS套DFS
- 64位 SSIS连接Oracle
- oracle 11g ADG做(switchover)切换测试
- java 垃圾收集器
- sublime text 3的初步配置
- mybatis入门到精通01
- Android将Log写入文件