操作系统:死锁 //程序耦合性
来源:互联网 发布:网络与司马是什么意思 编辑:程序博客网 时间:2024/06/01 10:35
死锁:如果有一组线程,每个线程都在等待一个事件的发生,这个事件只能由改组线程里面的另一线程发出,则我们称这组线程发生了死锁。
死锁发生的四个条件:
1.死锁发生的必要条件是条件有限。
2.持有等待,也就是所一个线程在请求新的资源的时候它原先获得的资源并不会释放。
3. 不能抢占。
4.循环等待条件。
死锁的应对:
1.容许发生死锁
1)假装没看见不理睬
2)在死锁发生后,想办法予以解决。
2.不容许发生死锁
1)通过生活中的周全考虑,避免难题。
2)通过将发生死锁的必要条件消除,杜绝死锁地发生。
关于死锁确实可以不予理会,因为有时候要杜绝死锁要花费的时间和精力过大,倒不如如果死锁发生就直接重启,但是还是有死锁发生后将他修复的方法,也就是先检查死锁,再去修复他,但是我们还可以通过死锁发生的必要条件去防范死锁的发送。
1.动态死锁的预防:优点是无需等待死锁的发生,而是在死锁发生前拒绝会让死锁发生的资源请求。
缺点就是计算过于繁琐。(有银行家算法)
2.死锁的静态防止:
1)消除资源独占条件
2)消除保持和请求条件
3)消除非抢占条件
4)消除循环等待条件
0 0
- 操作系统:死锁 //程序耦合性
- 操作系统死锁
- 操作系统死锁
- 操作系统死锁
- 操作系统死锁
- 操作系统 死锁
- 死锁---操作系统
- 操作系统------死锁
- 操作系统-死锁
- 【操作系统】死锁
- 如何降低一个程序的耦合性
- 如何降低一个程序的耦合性
- 降低程序耦合性的方法
- 操作系统概念:程序 进程 线程 死锁 临界区
- 关于程序耦合问题
- 耦合性
- 耦合性
- 耦合性
- [编写高质量iOS代码的52个有效方法](十一)系统框架
- 【python】简单实现一个模板引擎
- poj3080Blue Jeans
- 杭电2070
- (博弈)Public SaleHDU2149(巴什博弈)
- 操作系统:死锁 //程序耦合性
- 走向设计(策略模式)
- 设计模式 学习笔记
- opencv中的一般数据类型
- Python字符串
- 提交到app store时,提示ITMS-90478 ,ITMS-90062错误
- pageResult类
- 重做红楼梦的数据分析-判断前80回后40回是否一个人写的
- android XML实现切换效果