資源簡介
生產者消費者問題,描述一組生產者向一組消費者提供產品/消息。它們共享一個有界緩沖區,生產者向其中放產品/消息,消費者從中取產品/消息。只要緩沖區未滿,生產者可放產品/消息,只要緩沖區有數據,消費者可取消息。即應滿足下列二個同步條件:
1.只有在緩沖池中至少有一個緩沖區已存入消息后,消費者才能從中提取消息,否則消費者必須等待。
2.只有緩沖池中至少有一個緩沖區是空時,生產者才能把消息放入緩沖區,否則生產者必須等待。
設計要求:
要求設定一個緩沖池中有n個緩沖區,每個緩沖區存放一個消息,創建多個生產者,消費者,并在每個生產者消費者創建時、發出放/取產品申請時、正在放/取產品時和放/取產品結束時分別給出提示信息,并顯示取/方產品前后的緩沖區狀態,以檢查所有處理都遵守相應的操作限制。

代碼片段和文件信息
package?ProduceConsumeProblems;
public?class?Consumer?implements?Runnable{???
????ProducerAndConsumer?queue;
public?Consumer(ProducerAndConsumer?s){???
????????queue=s;???
????}???
????public?void?run(){???
????????for(int?i=0;i<20;i++){???
????????????queue.outqueue();
try{???
????????????????Thread.sleep((int)(Math.random()*20));???
????????????}catch(InterruptedException?e){System.out.println(e);}???
????????}???
????}???
}??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????471??2010-01-02?16:21??生產者消費者問題\Consumer.java
?????文件????????501??2010-01-02?16:21??生產者消費者問題\PCTest.java
?????文件????????519??2010-01-02?16:21??生產者消費者問題\Producer.java
?????文件???????1287??2010-01-02?16:21??生產者消費者問題\ProducerAndConsumer.java
?????目錄??????????0??2010-01-02?16:21??生產者消費者問題
-----------?---------??----------?-----??----
?????????????????2778????????????????????5
評論
共有 條評論