Java多執行緒實現,生產者消費者

2021-08-02 02:14:29 字數 710 閱讀 6290

根據自己的理解簡單的實現了乙個,生產者,消費者模式的多執行緒,請大家多提寶貴意見

sleep() wait()比較

sleep()是thread的靜態方法,是用來修改執行緒自身的執行方式。執行緒睡眠時間不會釋放鎖,睡眠完成自動開始執行。

wait()是object類中的方法,用作執行緒之間的通訊,被其他執行緒呼叫notify()方法或notifyall()方法喚醒。

notify()與notifyall()比較

notify()是排隊喚醒,按順序喚醒waiting的執行緒。

notifyall()是喚醒全部waiting的執行緒。

//倉庫

public class sourcea

public boolean isfull()

public void run() catch (interruptedexception e)

}else catch (interruptedexception e) }}

}}//消費者

public class getsource implements runnable

public void run() catch (interruptedexception e)

}else catch (interruptedexception e) }}

}}//測試

public class testsg

java多執行緒(生產者 消費者)

if isempty 當生產者生產出來商品需要喚醒消費者消費,可進行如下控制 vector.vector.notify 喚醒消費方法還用到了同步的方法,具體語法如下 synchronized vector.vector 程式源 如下 public class thread01 public stat...

多執行緒 生產者消費者

這個就不多說了,直接上 include include using namespace std const unsigned short size of buffer 10 緩衝區長度 unsigned short productid 0 產品號 unsigned short consumeid 0...

java多執行緒實現生產者消費者模式

package cn.learn.test public class waitnotifytest catch interruptedexception e inte ce lock class eatthread implements runnable override public void r...