五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ó)家法律
永嘉县| 永春县| 林周县| 织金县| 永福县| 大理市| 长治市| 洛川县| 马龙县| 理塘县| 靖边县| 梓潼县| 丰顺县| 南康市| 盐城市| 台北市| 南华县| 宜都市| 孙吴县| 凤翔县| 仪陇县| 永安市| 隆德县| 鄢陵县| 岑巩县| 张家港市| 吐鲁番市| 石首市| 车致| 潮州市| 赣榆县| 荃湾区| 安化县| 文水县| 大渡口区| 保靖县| 黑河市| 合江县| 花莲市| 宝清县| 汤阴县|