国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
福鼎市| 克什克腾旗| 磐安县| 澳门| 鄯善县| 湘乡市| 汨罗市| 梁平县| 公安县| 赣榆县| 鄂尔多斯市| 分宜县| 时尚| 玉溪市| 马关县| 巫溪县| 沙洋县| 仪征市| 报价| 弥渡县| 武鸣县| 岱山县| 宁海县| 大厂| 海南省| 海城市| 贵德县| 新泰市| 宝坻区| 荣昌县| 葫芦岛市| 日土县| 南安市| 府谷县| 德化县| 长垣县| 承德市| 黄石市| 洛川县| 延寿县| 团风县|