最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Java多線程 死鎖含義,死鎖的危害,墨菲定律

2020-09-08 07:52 作者:超人歸來(lái)thc  | 我要投稿

死鎖的含義

死鎖是一定發(fā)生在并發(fā)中的.
互不相讓: ?當(dāng)兩個(gè)或者更多的線程(或進(jìn)程)相互持有對(duì)方所需要的資源, 又不主動(dòng)釋放鎖, 導(dǎo)致所有人都無(wú)法繼續(xù)執(zhí)行下去, ?導(dǎo)致程序陷入無(wú)盡的阻塞, 這就是死鎖.

例如下圖,線程A持有鎖1 ,想去拿鎖2, 線程B持有鎖2, 想去拿鎖1, 但是此時(shí)釋放都不釋放自己的鎖, 那么就會(huì)進(jìn)入無(wú)盡的阻塞. ?
鎖的特性是只能被一個(gè)線程所擁有


如果多個(gè)線程之間的依賴(lài)關(guān)系是環(huán)形, 存在環(huán)路的鎖的依賴(lài)關(guān)系, 那么也可能會(huì)發(fā)生死鎖.
如下圖所示, 三個(gè)線程死鎖的環(huán)路. 除非拿到了想要的鎖, 才會(huì)釋放資源.

死鎖的影響

死鎖的影響在不同的系統(tǒng)中表現(xiàn)不一樣 , ?取決于系統(tǒng)對(duì)于死鎖的處理能力.
例如在數(shù)據(jù)庫(kù)中, 有檢測(cè)并且釋放事務(wù)的能力. 如果數(shù)據(jù)庫(kù)中兩個(gè)事務(wù)發(fā)生了死鎖的情況, 那么數(shù)據(jù)庫(kù)就能檢測(cè)到, 并且指定某個(gè)事務(wù)進(jìn)行放棄鎖, 此時(shí)就不會(huì)造成死鎖.

JVM不具備自動(dòng)處理死鎖的能力. 因?yàn)槌鲇诎踩缘目紤],處理死鎖的方式有很多 , 不能擅自的替程序員去判斷如何修復(fù)死鎖. ?例如某個(gè)線程非常的重要, 寧可發(fā)生死鎖也不能進(jìn)行強(qiáng)制的中斷.

死鎖的危害--墨菲定律

墨菲定律: 雖然死鎖的發(fā)生幾率不高, 但是隨著時(shí)間的推移,一定會(huì)發(fā)生.
一旦發(fā)生死鎖, 影響的用戶(hù)就很多, 可能會(huì)造成整個(gè)系統(tǒng)的崩潰, 子系統(tǒng)的崩潰,降低了系統(tǒng)的性能.
并且壓力測(cè)試并不能找出所有潛在的死鎖, 鎖的獲取可能是隨機(jī)的, 那么發(fā)生死鎖也是隨機(jī)的.?


Java多線程 死鎖含義,死鎖的危害,墨菲定律的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宜阳县| 越西县| 辽中县| 罗山县| 商城县| 泸定县| 大新县| 丰县| 天峻县| 新密市| 滦平县| 太仓市| 历史| 高密市| 漾濞| 德庆县| 东至县| 长阳| 鲁山县| 昌平区| 邛崃市| 聂拉木县| 潞西市| 和林格尔县| 德阳市| 襄汾县| 永靖县| 扎兰屯市| 织金县| 奎屯市| 灵寿县| 滦南县| 敦煌市| 含山县| 新泰市| 社旗县| 溧阳市| 阿瓦提县| 平原县| 秀山| 长武县|