手机版
网站地图
美文美图
最新动态
你好,欢迎访问
好美文阅读网
个性皮肤
搜索
网站首页
美文
文章
散文
日记
诗歌
小说
故事
句子
作文
签名
祝福语
情书
范文
读后感
文学百科
美文摘抄
节日文章
名家散文
网名大全
座右铭
口号大全
面试技巧
说说大全
阅读答案
诗词默写
流言蜚语
节日祝福
好句子
经典台词
谚语大全
亲情故事
友情故事
表白情书
工作报告
活动总结
心得体会
专题汇总
美文网首页
JAVA知识
线程死锁,死锁条件,如何避免死锁
线程死锁,死锁条件,如何避免死锁
作者:
Undo_0cc6
| 来源:发表于
2018-06-06 20:04 被阅读0次
死锁:有两个或两个以上线程相互持有对方所需要的资源,而使得这些线程无法往下执行下去。在Java中程序执行进入对象的synchronized代码块中,执行的线程是独占该资源的。在执行完成前的这段时间里,其他线程都不能进入该代码块中执行,直到占有线程退出syncronized代码块,其他线程才能进入该syncronized代码块。当线程相互持有对方线程所需要的系统资源时,或相互等待对方释放系统资源,当相互都不释放所占有的资源时,死锁也就由此产生。
死锁条件:1.互斥条件----进程对所分配到的资源具有排他性,即一个资源只能被一个进程锁拥有,直到进程释放资 源。
2.请求和保持条件----一个进程因请求被占用的资源而发生阻塞时,对自己已获得的资源保持持有不释放
3.不剥夺条件----任何一个资源在没有被进程释放前,其他进程都无法对其剥夺占有。
4.循环等待条件----当发生死锁时,所等待的进程必定会形成一个环路,造成永久堵塞。
避免死锁:1.加锁顺序-----当多个线程要相同的一些锁,但是按照不同的顺序加锁,死锁的情况发生率较高,如果,程序运行能确保所有线程都是按照相同的顺序去获得锁,那么死锁就不会发生。
2.加锁时限-----加一个超时时间,若一个线程没有在给定的时间内成功获取所需的锁,则进行回退操作,并释放自己本身所持有的锁,一段随机时间之后,重新去获取锁。
3.死锁检测-----死锁检测,每当线程去获取锁的时候,会在线程和锁相关的数据结构中将其记下,除此之外,每当线程请求锁,都需要记录在数据结构中。死锁检测是一个死锁避免机制。他主要针对的时那些不可能实现按序加锁并且锁超时也不可行的应用场景。
相关文章
网友评论
JAVA知识
本文标题:
线程死锁,死锁条件,如何避免死锁
本文链接:
https://www.haomeiwen.com/subject/hvjisftx.html
延伸阅读
那年盛夏诗歌
环境监察队工作总结范文
优秀教师学习心得范文
华胥引的读后感300字
《Its red》教学反思范文
农资购销的合同范本
竞选中队委优秀演讲稿
辞金蹈海的成语解释
《世纪宝鼎》公开课教案设计
因为爱你,所以牵挂
今生今世红尘醉——美到
一个90后的内心独白
致已逝去的高中年华
深度阅读
您也可以注册成为美文阅读网的作者,发表您的原创作品、分享您的心情!
情人节
母亲节
重阳节
清明节
端午节
植树节
元宵节
妇女节
愚人节
圣诞节
父亲节
教师节
儿童节
劳动节
青年节
建军节
万圣节
平安夜
光棍节
中秋节
国庆节
感恩节
腊八节
更多话题
栏目导航
JAVA知识
摄影
故事
互联网
读书
旅行
热点阅读
阿瑾书单
以史为鉴之和十大帝王学创业
生活感悟
往事,随风!
清新风图片来袭~
Hbase原理、基本概念、基本架构
【提升方法】高水平勤奋到底是怎样的一种体验
思维与意识的产生过程
selenium用法详解
家庭主妇的诗和远方
JAVA知识
线程死锁,死锁条件,如何避免死锁
网友评论