大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 淺談線程死鎖

淺談線程死鎖

更新時間:2020-11-09 17:54:22 來源:動力節(jié)點 瀏覽1508次

線程死鎖是指兩個或兩個以上的線程在執(zhí)行過程中,因爭奪資源而造成的互相等待的現(xiàn)象,在無外力作用的情況下,這些線程會一直相互等待而無法繼續(xù)運行下去。


在許多應(yīng)用中進程需要以獨占的方式訪問資源,當操作系統(tǒng)允許多個進程并發(fā)執(zhí)行時可能會出現(xiàn)進程永遠被阻塞現(xiàn)象,如兩個進程分別等待對方所占的資源,于是兩者都不能執(zhí)行而處于永遠等待狀態(tài),此現(xiàn)象稱為線程死鎖。

image.png


結(jié)合上圖中的線程圖,我們可以看出線程 A 已經(jīng)持有了資源 2,它同時還想申請資源 1,線程 B 已經(jīng)持有了資源 1,它同時還想申請資源 2,所以線程 1 和線程 

2 就因為相互等待對方已經(jīng)持有的資源,而進入了死鎖狀態(tài)。

產(chǎn)生死鎖的四個必要條件如下。當下邊的四個條件都滿足時即產(chǎn)生死鎖,即任意一個條件不滿足既不會產(chǎn)生死鎖。


一、產(chǎn)生線程死鎖四個必要條件

1.互斥條件:指線程對已經(jīng)獲取到的資源進行排它性使用,即該資源同時只由一個線程占用。如果此時還有其他線程請求獲取該資源,則請求者只能等待,直至占有資源的線程釋放該資源。

2.請求并持有條件:指一個線程已經(jīng)持有了至少一個資源,但又提出了新的資源請求,而新資源已被其他線程占有,所以當前線程會被阻塞,但阻塞的同時并不釋放自己已經(jīng)獲取的資源。

3.不可剝奪條件:指線程獲取到的資源在自己使用完之前不能被其他線程搶占,只有在自己使用完畢后才由自己釋放該資源。

4.環(huán)路等待條件:指在發(fā)生死鎖時,必然存在一個線程—資源的環(huán)形鏈,即線程集合{T0,T1,T2,…,Tn}中的 T0 正在等待一個 T1 占用的資源,T1 正在等待 T2 占用的資源,……Tn 正在等待已被 T0 占用的資源。

根據(jù)上面的產(chǎn)生死鎖的四個必要條件我們舉個常見的死鎖例子:進程A中包含資源A,進程B中包含資源B,A的下一步需要資源B,B的下一步需要資源A,所以它們就互相等待對方占有的資源釋放,所以也就產(chǎn)生了一個循環(huán)等待死鎖。


二、消除線程死鎖的幾種方式

1.最簡單、最常用的方法就是進行系統(tǒng)的重新啟動,不過這種方法代價很大,它意味著在這之前所有的進程已經(jīng)完成的計算工作都將付之東流,包括參與死鎖的那些進程,以及未參與死鎖的進程;

2.撤消進程,剝奪資源。終止參與死鎖的進程,收回它們占有的資源,從而解除死鎖。這時又分兩種情況:一次性撤消參與死鎖的全部進程,剝奪全部資源;或者逐步撤消參與死鎖的進程,逐步收回死鎖進程占有的資源。一般來說,選擇逐步撤消的進程時要按照一定的原則進行,目的是撤消那些代價最小的進程,比如按進程的優(yōu)先級確定進程的代價;考慮進程運行時的代價和與此進程相關(guān)的外部作業(yè)的代價等因素;

3.進程回退策略,即讓參與死鎖的進程回退到?jīng)]有發(fā)生死鎖前某一點處,并由此點處繼續(xù)執(zhí)行,以求再次執(zhí)行時不再發(fā)生死鎖。雖然這是個較理想的辦法,但是操作起來系統(tǒng)開銷極大,要有堆棧這樣的機構(gòu)記錄進程的每一步變化,以便今后的回退,有時這是無法做到的。


以上就是我們對線程死鎖的產(chǎn)生條件和消除死鎖的方法的介紹,這些只是死鎖中非常淺顯易懂的部分知識點,想要深入探究死鎖的原理和死鎖檢測算法的小伙伴可以觀看本站的Java多線程教程,學(xué)習(xí)更多的多線程知識。


提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国内精品久久久久丫网址 | 日本成a人免费视频 | 免费香蕉成视频成人网 | 91福利影院 | 亚洲日本一区二区三区在线不卡 | 色天天综合网 | 大色佬视频在线观看 | 国产亚洲精品久久久久久久软件 | 免费爱爱视频 | se999se男人最爱 | 成人欧美一区二区三区在线 | 在线观看免费情网站大全 | 国产精亚洲视频 | 搜索一级毛片 | 欧美成人性视频在线黑白配 | 日日干日日操 | 亚洲欧美日韩综合在线 | 成人aaaa| 日本在线视频精品 | 久久91亚洲精品久久91综合 | 久久er国产精品免费观看8 | 亚洲在线观看一区二区 | 国外成人免费高清激情视频 | 欧美午夜在线观看 | 九九精品免视看国产成人 | 欧美成人亚洲国产精品 | 国产 欧美 日产久久 | 97碰公开在线观看免费视频 | 99在线免费 | 一区二区三区免费在线观看 | 国内外一级毛片 | 奇米色在线视频 | 97精品国产97久久久久久 | 66精品综合久久久久久久 | 国产精品香蕉在线观看不卡 | 国产又色又爽又黄又刺激18 | 天堂日韩 | 在线日本韩国 | 国产在线2021 | 波多野结衣中文一区二区免费 | 久久精品国产半推半就 |