天天看點

産生死鎖的必要條件

死鎖

指兩個或兩個以上的程序在執行過程中,因争奪資源而造成的一種互相等待的現象,若無外力作用,它們都将無法推進下去。

此時稱系統處于死鎖狀态或系統産生了死鎖,這些永遠在互相等竺的程序稱為死鎖程序.

産生死鎖的原因主要是:

  • 因為系統資源不足
  • 程序運作推進的順序不合适
  • 資源配置設定不當等
  • 互斥條件:一個資源每次隻能被一個程序使用。
  • 請求與保持條件:一個程序因請求資源而阻塞時,對已獲得的資源保持不放。
  • 不剝奪條件:程序已獲得的資源,在末使用完之前,不能強行剝奪。
  • 循環等待條件:若幹程序之間形成一種頭尾相接的循環等待資源關系。

繼續閱讀