zoukankan      html  css  js  c++  java
  • 理解死锁

    一. 死锁

    理解模型: 单向桥模型, 单身狗模型

    二. 死锁的4个必要条件

    1. 互斥

    2. 非持有并等待

    3. 非强占

    4. 循环等待

    三. 资源

    1. 可重用资源

    CPU, 数据库, 信号等

    2. 消耗资源

    中断, 信号等

    四. 处理死锁的三种方法

    由应用程序处理死锁, 操作系统忽视死锁.

    1.  死锁预防
    去掉四个必要条件之一.

    缺点: 资源利用效率低.

    2. 死锁避免

    使用前先判断, 只允许不会出现死锁的进程执行.

    进程必须先提供资源的最大数目.

    银行信用卡模型.

    2.1. 银行家算法
    OS 资源 申请资源的线程

    沙盒演戏 - 即模拟分配, 看分配之后是否满足需求, 如果满足说明安全.

    3. 死锁检测和恢复
    检测到死锁状态后, 进行恢复

    3.1. 死锁检测算法
    允许系统进入死锁状态

  • 相关阅读:
    jsp转向
    什么是 XDoclet?
    tomcat中的几点配置说明
    mysql5问题
    POJ 3734 Blocks
    POJ 2409 Let it Bead
    HDU 1171 Big Event in HDU
    POJ 3046 Ant Counting
    HDU 2082 找单词
    POJ 1286 Necklace of Beads
  • 原文地址:https://www.cnblogs.com/shaohsiung/p/9977587.html
Copyright © 2011-2022 走看看