Java 多執行緒之生產者消費者模型

2021-07-31 14:31:40 字數 1087 閱讀 5071

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