我已經分配了一門課程來爲使用單個生產者,單個消費者和循環緩衝區的消費者/生產者問題實施解決方案。這應該用C語言編寫。消費者/生產者任務的解決方案
不幸的是,我們沒有提供任何學習資料,並且在某種程度上意味着在演講者沒有幫助的情況下實現這一目標。
要求是如下:
要求:你被要求以實現用於使用A單生產者,單個消費者,和圓形有界緩衝器消費者/生產者問題(即,包含一個固定大小的溶液,例如整數值)。生產者和消費者都生成/消費無限數量的項目(例如整數)。也就是說,它們可以在無限循環中執行,假設代碼無限期地運行。你可以自由選擇如何實現這種方法,但是,可能推薦使用信號量。一個成功的實現具有:
- 循環緩衝器,其大小是固定的和可配置的(例如,使用定義語句)
- 計數器保持跟蹤已生產的物品的數量/到目前爲止消耗(你忽略整數/長整數)
- 產生的每個項目的識別號碼,例如其在生成項目序列中的索引
- 一個簡單的可視化,演示了緩衝區中的項目數量如何演變爲超時。這可以像每次打印多個星形一樣簡單,每個物品被生成/消耗,每個星形代表當前在緩衝區中的一個元素
- 正確同步可能存在的任何關鍵部分,並且只在嚴格需要的地方這樣做
如果有人能幫助我如何處理這個要求,這將是非常感謝
由於太模糊或太寬泛,很可能會被封閉。查看http://meta.stackexchange.com/questions/10811/how-do-i-ask-and-answer-homework-questions,瞭解如何尋求幫助作業的建議,以建立一個通常有用的問題的方式一個答案。 –