死鎖的定義: 如果乙個程序集合中的每個程序都在等待只能由該程序集合中的其他程序才能引發的事件,那麼,該程序集合就是死鎖的。
產生死鎖的四個必要條件
產生死鎖的原因
預防死鎖
檢測死鎖
預防死鎖的幾種策略,會嚴重地損害系統效能。因此在避免死鎖時,要施加較弱的限制,從而獲得 較滿意的系統效能。由於在避免死鎖的策略中,允許程序動態地申請資源。因而,系統在進行資源分配之前預先計算資源分配的安全性。若此次分配不會導致系統進入不安全狀態,則將資源分配給程序;否則,程序等待。其中最具有代表性的避免死鎖演算法是銀行家演算法。
安全狀態與不安全狀態:安全狀態指系統能按某種程序順序來為每個程序分配其所需資源,直 至最大需求,使每個程序都可順利完成。若系統不存在這樣乙個序列, 則稱系統處於不安全狀態。
檢測死鎖
首先為每個程序和每個資源指定乙個唯一的號碼,
然後建立資源分配表和程序等待表。
todo: 補充完整
從死鎖中恢復
程序檢測點: 將程序的狀態寫入乙個檔案以備重新啟動,該檢測點不光包括儲存映像,還包括資源狀態。
object的那些事兒
昨天和大姐qq。說給我看了,今年找到物件。我就在那裡騙他們。說我找了乙個 人。明年去 以後就沒有多少機會見到他們了。呵呵,大姐就說這樣我不聽話,那樣不聽話,不讓我去,說還借我錢買房子,不能去,去了父母白養這麼大了,我總是騙他們,逗他們。以前還騙他們說我出家。有一段時間,工作不順心,我壓力挺大的。不知...
和 的那些事兒
和 都可以用作邏輯與的運算子,表示邏輯與 and 當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。還具有短路的功能,即如果第乙個表示式為false,則不再計算第二個表示式,例如,對於if str null str.equals 表...
SQL的那些事兒
sql語言有以下幾個部分 sql的ddl包含 sql標準支援多種固有型別,包括 create table r a1 d1,a2 d2,an dn,完整性約束1 完成性約束k sql支援許多不同的完整性約束,sql禁止破壞完整性約束的任何資料庫更新 primary key aj 1 aj 2 aj m...