天天看點

死鎖

什麼是死鎖:

是指兩個或兩個以上的程序在執行過程中,由于競争資源或者由于彼此通信而造成的一種阻塞的現象,若無外力作用,它們都将無法推進下去。此時稱系統處于死鎖狀态或系統産生了死鎖

死鎖産生的四個條件

(1) 互斥條件:一個資源每次隻能被一個程序使用。

(2) 請求與保持條件:一個程序因請求資源而阻塞時,對已獲得的資源保持不放。

(3) 不剝奪條件:程序已獲得的資源,在末使用完之前,不能強行剝奪。

(4) 循環等待條件:若幹程序之間形成一種頭尾相接的循環等待資源關系。

案例: