死锁原理和解析
来源:互联网 发布:淘宝随便逛逛 编辑:程序博客网 时间:2024/05/18 06:19
推荐http://www.cnblogs.com/lancidie/archive/2011/08/20/2147040.html
产生死锁的原因主要是:
(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。
(3) 资源分配不当等。
如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则
就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。
产生死锁的四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之
一不满足,就不会发生死锁。
死锁的解除与预防:
理解了死锁的原因,尤其是产生死锁的四个必要条件,就可以最大可能地避免、预防和
解除死锁。所以,在系统设计、进程调度等方面注意如何不让这四个必要条件成立,如何确
定资源的合理分配算法,避免进程永久占据系统资源。此外,也要防止进程在处于等待状态
的情况下占用资源。因此,对资源的分配要给予合理的规划。
- 死锁原理和解析
- 死锁原理
- COOKIES原理和解析
- 关于线程死锁的产生、原因和原理
- 操作系统精髓与设计原理--并发性:死锁和饥饿
- 死锁的产生以及避免原理和算法
- 死锁 - 计算机原理
- Sybase封锁原理(死锁)
- 死锁原理及代码
- 线程同步、死锁原理
- (操作系统原理)死锁原理
- DNS原理和解析过程
- DNS原理和解析过程
- spring_ThreadPoolTaskExecutor和jdk1_7_ThreadPoolExecutor原理解析
- 混响音效原理和解析
- ios多线程死锁解析
- 死锁(deadlock)例题解析
- 解析死锁问题
- Android开发必备的21个免费资源和工具
- X文档FTP站点
- 【POI】学习计划 第二篇
- 使用ogg的Oracle-Oracle的双向复制
- MartiniMedia融资1400万美元:针对富人投广告
- 死锁原理和解析
- iis 6发布webservice服务报错:HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容。
- Struts中使用数据库
- 一个比较完整的Struts-config.xml配置文件
- Plugin插件
- RequestProcessor 插件
- js 判断文件是否存在
- struts-validator 一个简单的错误处理
- JDK 环境变量