码迷,mamicode.com
首页 > 其他好文 > 详细

死锁的条件以及如何处理死锁问题

时间:2015-04-14 19:41:46      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:面试题   操作系统   计算机   应用   c++   

死锁的条件以及如何处理死锁问题

解答:互斥条件(Mutual exclusion):

  • 1、资源不能被共享,只能由一个进程使用。
  • 2、请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。
  • 3、非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。
  • 4、循环等待条件(Circular wait):系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源。

如何处理死锁问题:

  • 1、忽略该问题。例如鸵鸟算法,该算法可以应用在极少发生死锁的的情况下。为什么叫鸵鸟算法呢,因为传说中鸵鸟看到危险就把头埋在地底下,可能鸵鸟觉得看不到危险也就没危险了吧。跟掩耳盗铃有点像。
  • 2、检测死锁并且恢复。
  • 3、仔细地对资源进行动态分配,以避免死锁。
  • 4、通过破除死锁四个必要条件之一,来防止死锁产生。

死锁的条件以及如何处理死锁问题

标签:面试题   操作系统   计算机   应用   c++   

原文地址:http://blog.csdn.net/u014082714/article/details/45046685

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!