/**
* @author sun 生產者消費者模型
*/public class multithreading
public static void main(string args)
}/**
* @author sun 倉庫類
*/class store
/*** 向倉庫中新增貨物的方法
*/public
synchronized void add() catch (interruptedexception e)
}++cur_count;// 新增成功則數量加一
// 列印當前倉庫中的貨物數量
system.out.println(thread.currentthread().tostring()
+ " put ,current count:" + cur_count);
// 喚醒堵塞的消費者執行緒前來取貨,消費者和生產者全部都喚醒了
//wakes up all threads that are waiting on this object's monitor(在消費者生產者問題中,說明喚醒了所有的生 //產者和消費者,因為鎖是store物件的).
this.notifyall(); }
/*** 從倉庫中取走貨物的方法
*/public
synchronized void remove() catch (interruptedexception e)
}--cur_count;// 取走貨物,減少當前貨物數量
// 列印當前貨物數量
system.out.println(thread.currentthread().tostring()
+ " get ,current count:" + cur_count);
// 倉庫不滿,喚醒生產者執行緒
this.notifyall();}}
/*** @author sun 生產者類
*/class producer extends thread
@override
public void run() catch (interruptedexception e) }}
}/**
* @author sun 消費者類
*/class consumer extends thread
@override
public void run() catch (interruptedexception e) }}
}
OS 多執行緒模擬實現生產者和消費者
c thread 模擬實現的生產者消費者實驗。多生產者多消費者 by darius include using namespace std const int maxsize 4 倉庫大小 const int plan 100 計畫生產的產品個數 struct warehouse static vo...
Java多執行緒實現,生產者消費者
根據自己的理解簡單的實現了乙個,生產者,消費者模式的多執行緒,請大家多提寶貴意見 sleep wait 比較 sleep 是thread的靜態方法,是用來修改執行緒自身的執行方式。執行緒睡眠時間不會釋放鎖,睡眠完成自動開始執行。wait 是object類中的方法,用作執行緒之間的通訊,被其他執行緒呼...
java多執行緒(生產者 消費者)
if isempty 當生產者生產出來商品需要喚醒消費者消費,可進行如下控制 vector.vector.notify 喚醒消費方法還用到了同步的方法,具體語法如下 synchronized vector.vector 程式源 如下 public class thread01 public stat...