1. 程式人生 > >產生死鎖的四個必要條件

產生死鎖的四個必要條件

  • 互斥條件:程序對所分配到的資源進行排他性使用,即在一段時間內某資源只有一個程序佔用。
  • 請求和保持條件:程序已經保持了至少一個資源但又提出了新的資源請求,若得不到滿足則阻塞該程序,但其保持已獲得的資源不釋放。
  • 不剝奪條件:程序已獲得的資源,在未使用完之前,不能被剝奪,只能在使用完時由自己釋放。
  • 環路等待條件:在發生死鎖時,必然存在一個程序-資源的環形鏈,即程序集合{P1,P2,...,Pn}中的P1等待P2佔用的資源,P2等待P3佔用的資源,...,Pn等待P0佔用的資源。