/**
*生產者消費者問提
* 為使達到生產乙個消費乙個的目的,使用等待喚醒機制
* wait():該方法可以讓執行緒處於凍結狀態,並將執行緒儲存到執行緒池中
* notify():喚醒指定執行緒池中的任意乙個執行緒
* notifyall():喚醒指定執行緒池中的所有執行緒
* 這些方法必須使用在同步中,因為它們用來操作同步鎖上的執行緒狀態
* 在使用這些方法時,必須標識它們所屬的鎖,標識方式就是 鎖物件.wait() 鎖物件.notify() 鎖物件.notifyall()
* 相同鎖的notify(),可以獲取相同鎖的wait();
*@author tf
*/class res
catch (interruptedexception e){}
this.name=name+"--"+count;
count++;
system.out.println(thread.currentthread().getname()+"....生產者...."+this.name);
//生產完畢,將標記改為true
flag=true;
//喚醒消費者
notify();
}//提供乙個商品獲取的方法
public
synchronized
void
get()
catch (interruptedexception e){}
system.out.println(thread.currentthread().getname()+"....消費者...."+this.name);
//將標記改為false
flag=false;
//喚醒生產者
notify();
}}//生產者
class producer implements runnable
public
void
run()
}//消費者
class consumer implements runnable
public
void
run()
}public
class
/** *@param args the command line arguments
*/public
static
void
main(string args)
}
java多執行緒(生產者 消費者)
if isempty 當生產者生產出來商品需要喚醒消費者消費,可進行如下控制 vector.vector.notify 喚醒消費方法還用到了同步的方法,具體語法如下 synchronized vector.vector 程式源 如下 public class thread01 public stat...
Java多執行緒實現,生產者消費者
根據自己的理解簡單的實現了乙個,生產者,消費者模式的多執行緒,請大家多提寶貴意見 sleep wait 比較 sleep 是thread的靜態方法,是用來修改執行緒自身的執行方式。執行緒睡眠時間不會釋放鎖,睡眠完成自動開始執行。wait 是object類中的方法,用作執行緒之間的通訊,被其他執行緒呼...
java多執行緒生產者 消費者模式
1 生產者僅僅在倉儲未滿時候生產,倉滿則停止生產。2 消費者僅僅在倉儲有產品時候才能消費,倉空則等待。3 當消費者發現倉儲沒產品可消費時候會通知生產者生產。4 生產者在生產出可消費產品時候,應該通知等待的消費者去消費 使用object的wait notify 方法 1.wait 當快取區已滿 已空時...