zoukankan      html  css  js  c++  java
  • 死锁

    一、死锁产生的原因

    1.竞争资源引起死锁

    2.进程推进顺序不当

    二、死锁产生的必要条件

    1. 互斥条件:

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

    2. 请求和保持条件

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

    3.不剥夺条件

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

    4.环路等待

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

    三、’死锁的解决方案:

    1. 预防死锁

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

    2. 避免死锁

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

    3. 检测死锁

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

    4. 解除死锁

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

  • 相关阅读:
    git简单使用
    简单Spring和mybatis整合配置文件
    ASP.NET程序开发范例宝典
    C# DataSet和DataTable详解
    AOP
    匿名内部类
    数据库事务
    mybatis
    线程池
    单例模式
  • 原文地址:https://www.cnblogs.com/Windeal/p/4284687.html
Copyright © 2011-2022 走看看