什么是死鎖和如何解決死鎖

如果一組進(jìn)程中每一個(gè)進(jìn)程都在等待僅由該組進(jìn)程中的其他進(jìn)程才能引發(fā)的事件咆繁,那么該組進(jìn)程是死鎖的婴谱。

舉例來(lái)說(shuō):有兩個(gè)進(jìn)程A和B,A持有資源a等待b資源,B持有資源b等待a資源代虾,兩個(gè)進(jìn)程都在等待另一個(gè)資源的同時(shí)不釋放資源歉摧,就形成死鎖艇肴。

形成死鎖的四個(gè)必要條件:

(1) 互斥條件:一個(gè)資源每次只能被一個(gè)進(jìn)程使用。

(2) 請(qǐng)求與保持條件:一個(gè)進(jìn)程因請(qǐng)求資源而阻塞時(shí)叁温,對(duì)已獲得的資源保持不放再悼。

(3) 不剝奪條件:進(jìn)程已獲得的資源,在末使用完之前膝但,不能強(qiáng)行剝奪冲九。

(4) 循環(huán)等待條件:若干進(jìn)程之間形成一種頭尾相接的循環(huán)等待資源關(guān)系。

處理死鎖的思路如下:

預(yù)防死鎖:破壞四個(gè)必要條件中的一個(gè)或多個(gè)來(lái)預(yù)防死鎖

避免死鎖:在資源動(dòng)態(tài)分配的過(guò)程中跟束,用某種方式防止系統(tǒng)進(jìn)入不安全的狀態(tài)莺奸。

檢測(cè)死鎖:運(yùn)行時(shí)產(chǎn)生死鎖,及時(shí)發(fā)現(xiàn)思索冀宴,將程序解脫出來(lái)灭贷。

解除死鎖:發(fā)生死鎖后,撤銷(xiāo)進(jìn)程略贮,回收資源甚疟,分配給正在阻塞狀態(tài)的進(jìn)程。

預(yù)防死鎖的辦法:

破壞請(qǐng)求和保持條件:1.一次性的申請(qǐng)所有資源逃延。之后不在申請(qǐng)資源览妖,如果不滿(mǎn)足資源條件則得不到資源分配。2.只獲得初期資源運(yùn)行揽祥,之后將運(yùn)行完的資源釋放讽膏,請(qǐng)求新的資源。

破壞不可搶占條件:當(dāng)一個(gè)進(jìn)程獲得某種不可搶占資源拄丰,提出新的資源申請(qǐng)府树,若不能滿(mǎn)足是嗜,則釋放所有資源,以后需要挺尾,再次重新申請(qǐng)。

破壞循環(huán)等待條件:對(duì)資源進(jìn)行排號(hào)站绪,按照序號(hào)遞增的順序請(qǐng)求資源遭铺。若進(jìn)程獲得序號(hào)高的資源想要獲取序號(hào)低的資源,就需要先釋放序號(hào)高的資源恢准。

死鎖的解除辦法:

1魂挂、搶占資源。從一個(gè)或多個(gè)進(jìn)程中搶占足夠數(shù)量的資源馁筐,分配給死鎖進(jìn)程涂召,以解除死鎖狀態(tài)。

2敏沉、終止(撤銷(xiāo))進(jìn)程:將一個(gè)或多個(gè)思索進(jìn)程終止(撤銷(xiāo))果正,直至打破循環(huán)環(huán)路,使系統(tǒng)從死鎖狀態(tài)解脫盟迟。

作者:樂(lè)百事52淑熙

鏈接:http://www.reibang.com/p/342d60d67bbc

來(lái)源:簡(jiǎn)書(shū)

著作權(quán)歸作者所有秋泳。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處攒菠。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末迫皱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子辖众,更是在濱河造成了極大的恐慌卓起,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凹炸,死亡現(xiàn)場(chǎng)離奇詭異戏阅,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)啤它,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)饲握,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蚕键,你說(shuō)我怎么就攤上這事救欧。” “怎么了锣光?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵笆怠,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我誊爹,道長(zhǎng)蹬刷,這世上最難降的妖魔是什么瓢捉? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮办成,結(jié)果婚禮上泡态,老公的妹妹穿的比我還像新娘。我一直安慰自己迂卢,他們只是感情好某弦,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著而克,像睡著了一般靶壮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上员萍,一...
    開(kāi)封第一講書(shū)人閱讀 52,457評(píng)論 1 311
  • 那天腾降,我揣著相機(jī)與錄音,去河邊找鬼碎绎。 笑死螃壤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的筋帖。 我是一名探鬼主播映穗,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼幕随!你這毒婦竟也來(lái)了蚁滋?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤赘淮,失蹤者是張志新(化名)和其女友劉穎辕录,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體梢卸,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡走诞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛤高。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚣旱。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖戴陡,靈堂內(nèi)的尸體忽然破棺而出塞绿,到底是詐尸還是另有隱情,我是刑警寧澤恤批,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布异吻,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏诀浪。R本人自食惡果不足惜棋返,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望雷猪。 院中可真熱鬧睛竣,春花似錦、人聲如沸求摇。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)月帝。三九已至,卻和暖如春幽污,著一層夾襖步出監(jiān)牢的瞬間嚷辅,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工距误, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留簸搞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓准潭,卻偏偏與公主長(zhǎng)得像趁俊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刑然,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容

  • 如果一組進(jìn)程中每一個(gè)進(jìn)程都在等待僅由該組進(jìn)程中的其他進(jìn)程才能引發(fā)的事件寺擂,那么該組進(jìn)程是死鎖的。 舉例來(lái)說(shuō):有兩個(gè)進(jìn)...
    樂(lè)百事52淑熙閱讀 13,617評(píng)論 0 4
  • 資源問(wèn)題 在系統(tǒng)中有許多不同類(lèi)型的資源泼掠,其中可以引起死鎖的主要是怔软,需要采用互補(bǔ)訪(fǎng)問(wèn)方式的、不可以被搶占的資源择镇,即臨...
    NoFacePeace閱讀 1,094評(píng)論 0 0
  • 一.死鎖的概念以及產(chǎn)生死鎖的原因 1.死鎖的定義 在多道程序系統(tǒng)中挡逼,由于多個(gè)進(jìn)程的并發(fā)執(zhí)行,改善了系統(tǒng)資源的利用率...
    Chasel_H閱讀 1,105評(píng)論 0 4
  • 死鎖的概念 死鎖的定義 在多道程序系統(tǒng)中腻豌,由于多個(gè)進(jìn)程的并發(fā)執(zhí)行家坎,改善了系統(tǒng)資源的利用率并提高了系統(tǒng)的處理能力。然...
    CodeKing2017閱讀 1,453評(píng)論 0 4
  • 1吝梅、競(jìng)態(tài)條件: 定義:競(jìng)態(tài)條件指的是一種特殊的情況虱疏,在這種情況下各個(gè)執(zhí)行單元以一種沒(méi)有邏輯的順序執(zhí)行動(dòng)作,從而導(dǎo)致...
    Hughman閱讀 1,298評(píng)論 0 7