我有一些麻煩,在我的操作系統類家庭作業寫Pseduocode,我們正在編程C.的僞碼生產者消費者同步
您將實現生產者 - 消費者與程序N個元素,P個生產者線程和C個消費者線程的有界緩衝區隊列(N,P和C應該是程序的命令行參數,以及三個附加參數X,Ptime和Ctime,下面將對此進行描述)。 每個
生產者線程應該在隊列中排隊X個不同的數字(在每次調用Enqueue之間旋轉等待Ptime * 100,000個週期)。每個消費者線程
應該使隊列中的P * X/C項出隊(在每次調用Dequeue之間旋轉等待Ctime * 100,000個週期 )。主程序應該創建/初始化 界緩衝隊列,打印時間戳,產卵關C消費者線程& P
生產者線程,等待所有線程完成,然後打印出來另一個 時間戳&執行持續時間。
我的主要困難是理解我的教授通過自旋等待變量的次數達到100,000次。我用粗體顯示了令我困惑的部分。
我知道一個時間戳將用於打印每個線程之間的差異。我們目前正在使用信號量和實現同步。任何建議上述查詢將不勝感激。
該死的很好的答案......但是:假設沒有人理解這個問題是安全的,特別是問了這個問題的教授;-) – corlettk