管程,生產者消費者

有了信號量和互斥量之後,進程間通信看來就很容易了,實際是這樣的嗎?答案是否定的。考察圖2-28點擊打開鏈接中向緩衝區放入數據項以及從中刪除數據項之前的down操作。假設將生產者代碼中的兩個down操作交換一下次序,將使得mutex的值在empty之前而不是在其之後被減1。如果緩衝區完全滿了,生產者將阻塞,mutex值爲0。這樣一來,當消費者下次試圖訪問緩衝區時,它將對mutex執行一個down操作
相關文章
相關標籤/搜索