Java多執行緒模擬實現消費者生產者問題

2021-07-10 21:29:52 字數 1279 閱讀 4367

/**

* @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...