zoukankan      html  css  js  c++  java
  • 死锁

    一、死锁产生的原因

    1.竞争资源引起死锁

    2.进程推进顺序不当

    二、死锁产生的必要条件

    1. 互斥条件:

    进程对分配给他的资源进行排他性使用。

    2. 请求和保持条件

    进程已经占有至少一个资源,又提出了新资源请求,而该资源已经被使用。同时,不释放自身资源。

    3.不剥夺条件

    进程已获得的资源在使用结束之前不能被剥夺。

    4.环路等待

    环形链存在。如:P1占用P2的资源,P2占有P1的资源。

    三、’死锁的解决方案:

    1. 预防死锁

    设置条件确保死锁产生的必要条件不成立。

    2. 避免死锁

    在资源的动态分配中,避免进入不安全状态。

    3. 检测死锁

    检测死锁的产生,然后清理死锁。

    4. 解除死锁

    与检测死锁配套使用,撤销或挂起一部分导致死锁的进程。

  • 相关阅读:
    Android AdapterView View的复用机制 分析
    go12---interface
    go11---方法method
    go10---struct
    go09---defer
    go8---函数function
    go7---map
    go6---slice切片
    go5--数组
    go4--break,continue + 标签
  • 原文地址:https://www.cnblogs.com/Windeal/p/4284687.html
Copyright © 2011-2022 走看看