如果有1個生產者,1個消費者和> 1大小的緩衝區需要插入互斥鎖?是否需要刪除互斥鎖?什麼時候生產者/消費者問題需要互斥鎖?
如果有1個生產者,1個消費者和1個大小的緩衝區需要插入互斥量?是否需要刪除互斥鎖?
如果有> 1個生產者,> 1個消費者和1個大小的緩衝區需要插入互斥量?是否需要刪除互斥鎖?
有人可以解釋你如何回答這些問題。我知道兩個線程在寫入時不應從緩衝區中讀取,但這並不意味着所有的場景都需要兩個互斥體?
編輯:從教授的第一個案例得到的答案是,第二個兩個都沒有,因爲當緩衝區非空時,相當於一個完整的緩衝區。當緩衝區爲空時,用戶被阻止。當緩衝區包含一個項目時,製作者被阻止。因此互斥被淘汰使用互斥體。
這聽起來像作業。看起來你需要自己找出答案,這就是你如何獲得理解。 – Barmar
@Barmar是的,它是一個功課問題。我只是不認爲我的答案始終需要互斥是正確的。我只是想要一點點的指導。 – Mehran
如果你已經發布了你的答案,解釋了爲什麼你認爲它是正確的,然後問你爲什麼錯了,那會更合適。雖然也許cs.stackexchange.com會是一個更適合討論的地方。 – Barmar