日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

#61.死锁

發布時間:2025/5/22 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 #61.死锁 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概念:
死鎖是指兩個或兩個以上的進程在執行過程中,由于競爭資源或者由于彼此通信而造成的一種阻塞的現象若無外力作用,它們都將無法推進下去。此時稱系統處于死鎖狀態或系統產生了死鎖,這些永遠在互相等待的進程稱為死鎖進程
通俗的說:死鎖是一種兩個或者兩個以上進程阻塞的現象,而且這種現象如果沒有外力作用,進程就永遠無法推進下去。
導致死鎖的原因:
競爭的資源有限+進程推進順序不當
死鎖的4個必要條件:
1.互斥條件
資源的排他性
一個碗只能讓一個人擁有
2.請求和持續條件
進程保持著資源的同時,又申請新的資源,而且申請的資源被占用時,它在等待的時候不放棄自己的其他資源。
典型的**吃著碗里的看著鍋(別人碗里)**里的。
3.不剝奪條件
進程已經獲得的資源,只能自己釋放,不能被剝奪。
碗里的只能我自己不吃給你們,不然你們不能搶。
4.環路等待條件
進程-資源環形鏈。
我自己碗里有,但是我申請你的碗,你申請第三個人的碗,第三個人申請第四個……最后一個人要申請我碗里的。

1.一個碗只能讓一個人用。
2.我申請吃你碗里的,我自己碗里的不能給別人,然后等著吃你碗里的。
3.你不給我吃我不能搶。
4.人碗鏈。

處理死鎖的四種基本辦法:
1.預防死鎖
通過設置某些限制條件,去破壞死鎖的必要條件的一個或者多個條件,來預防。
優點:容易實現
缺點:但是限制條件嚴格,會降低系統的資源利用率和吞吐量
2**.避免**死鎖
不采取事前的限制條件,而是在資源的動態分配中,用某種方法去阻止系統進入不安全狀態
優點:較弱的限制,較高資源利用率
缺點:較難實現,難度在于計算資源分配的安全性

打個比方:預防和避免死鎖 預防就像是說 最近股市不太好,我直接賣了,沒啥風險。好處就是容易實現,壞處就是我最近可能賺不到錢。
避免就高級了,我知道股市不好,但是我覺得還不到時間,所以我采取了邊走邊看。 這個方法好處就是:我可能還能賺到錢,壞處就是難度太大了。
3.檢測死鎖
允許發生死鎖,檢測出死鎖,然后確定相關進程和資源。
4.解除死鎖
把進程從死鎖狀態解脫出來。
撤銷或掛起進程。

總結

以上是生活随笔為你收集整理的#61.死锁的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。