package com.yuanlief;
public
class
main
}//共享資料類
class mydata
//共享資料控制類
class sharedata catch (interruptedexception e)
}this.data = data;
writeable = false;//標記已經生產
notify();//通知消費者已經生產,可以消費了
}public
synchronized mydata getsharedata() catch (interruptedexception e)
}writeable = true;//標記已經消費
notify();//通知需要生產
return
this.data;
}}/**
* 生產者執行緒類
*/class producer extends thread
@override
public
void
run() catch (interruptedexception e)
mydata mydata = new mydata();
mydata.data = i;
s.setsharedata(mydata);
system.out.print("生產者產生一條資料:" + mydata.data + ".\n");}}
}/**
* 消費者執行緒類
*/class consumer extends thread
@override
public
void
run() catch (interruptedexception e)
mydata = s.getsharedata();
system.out.print("消費者消費一條資料:" + mydata.data + ".\n");
}while (mydata.data <= 10);
}}
Java多執行緒之消費者生產者模式
這個例項應該是學習執行緒的乙個經典例子,生產者和消費者模式。寫的很好,詳細請看內容。author shijin 生產者與消費者模型中,要保證以下幾點 1 同一時間內只能有乙個生產者生產 生產方法加鎖sychronized 2 同一時間內只能有乙個消費者消費 消費方法加鎖sychronized 3 生...
java多執行緒之消費者生產者模式
author shijin 生產者與消費者模型中,要保證以下幾點 1 同一時間內只能有乙個生產者生產 生產方法加鎖sychronized 2 同一時間內只能有乙個消費者消費 消費方法加鎖sychronized 3 生產者生產的同時消費者不能消費 生產方法加鎖sychronized 4 消費者消費的同...
java多執行緒(生產者 消費者)
if isempty 當生產者生產出來商品需要喚醒消費者消費,可進行如下控制 vector.vector.notify 喚醒消費方法還用到了同步的方法,具體語法如下 synchronized vector.vector 程式源 如下 public class thread01 public stat...