zoukankan      html  css  js  c++  java
  • 死锁

    死锁产生的条件

    • 互斥条件:指线程对已经获取到的资源进行排它性使用,即该资源同时只由一个线程占用,如果此时还有其他线程请求获取该资源,则请求者只能等待,直至占有资源的线程释放该资源。
    • 请求并持有条件:指一个线程已经持有了至少一个资源,但又提出了新的资源请求,而新资源已经被其他线程占有,所以当前线程被阻塞,但阻塞的的同事并不释放已经获取的资源。
    • 不可剥夺条件:指线程获取到的资源在自己使用完之前不能被其他线程抢占,只有自己使用完毕才由自己释放该资源。
    • 环路等待条件:指在发生死锁时,必然存在一个线程—资源的环形链,即线程集合{T0, T1,T2, ..., Tn} 中的T0正在等待一个T1占用的资源,T2在等待T2占用的资源, Tn正在等待T0占用的资源。

    避免死锁

    通过破坏资源的请求并持有条件和环路等条件。

  • 相关阅读:
    第一周。。。
    新人日报1129
    Daily Report-1126
    How to read source code[repost]
    Markdown tutorial [repost]
    蘑菇街面经
    阿里面经
    百度凤巢一二面经
    Mybatis最入门---代码自动生成(generatorConfig.xml配置)
    Maven的生命周期阶段
  • 原文地址:https://www.cnblogs.com/Godfunc/p/11164110.html
Copyright © 2011-2022 走看看