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

死锁产生的原因和条件简述

时间:2015-04-12 16:05:21      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

  深入理解死锁产生的原因和条件,对于日后避免死锁的产生有着非常重要的意义。死锁产生的原因主要是竞争资源,其产生的条件包括资源互斥、请求保持、不能剥夺和循环等待。

  死锁产生的根本原因是资源竞争。如果若干个线程正常运行,遇到彼此需要对方占有的资源时,就可能产生线程死锁。如果若干个线程异常运行,资源的请求与释放的顺序不当,也可能产生死锁。

  死锁产生的条件包括以下4点:

    资源互斥:即资源仅能让一个线程使用而不支持多个线程同时使用。

    请求保持:已经拥有资源的线程在请求其他资源时并没有释放当前资源。

    不能剥夺:已经获得的资源在自主释放前不能使用其他手段剥夺。

    循环等待:各个线程对资源的需求构成了一个循环。

通常,破坏循环等待是最有效的解决死锁的方法。

死锁产生的原因和条件简述

标签:

原文地址:http://www.cnblogs.com/luankun0214/p/4419537.html

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