N個進程的臨界區問題(麪包房算法)

上面PPT來自浙江大學李善平老師的操作系統課程。 產生的number[i]會重複是因爲cpu調度引起的(number[i]的賦值操作不是原子操作)。 choosing[]數組的意義在於防止i進程的number[i]數值不穩定,出現錯誤。如果沒有choosing[]數組的話,反例如下,比如只考慮進程i和j: 假設進程i<j,當i進程的number[i]賦值時,由於cpu的調度,停在了賦值操作,即此時
相關文章
相關標籤/搜索