生產者消費者模型 管程法

2022-07-08 10:36:11 字數 746 閱讀 6275

package thread;

//測試:生產消費者模型--->利用緩衝區解決:管程法

public class pcthread

}//生產者

class product extends thread

//生產

@override

public void run() }}

//消費者

class consumer extends thread

//消費

​@override

public void run() }}

//產品

class chicken

}//緩衝區

class syncontainer catch (interruptedexception e) ​}

//如果沒有滿,我們需要丟入產品

chickens[count] = chicken;

count ++;

//可以通知消費了

this.notifyall();​}

public synchronized chicken pop() catch (interruptedexception e)

}//如果可以消費

count--;

chicken chicken = chickens[count];

this.notifyall();

return chicken;}}

管程法實現生產者消費者模式

package monitormethod author 丟了風箏的線 see 測試管程法 public class test package monitormethod author 丟了風箏的線 see 存放商品的倉庫 public class warehouse catch interrupt...

使用管程法解決生產者消費者問題

package com.test.thread 測試生產者消費者模型 利用緩衝區解決 管程法 生產者,消費者,產品,緩衝區 public class testpc 生產者類 class productor extends thread 生產雞!override public void run 消費者...

生產者消費者模型

1.生產者消費者問題 producer consumer 有限緩衝,多執行緒同步。生產者執行緒和消費者執行緒共享固定大小緩衝區。2.關鍵是保證生產者不會再緩衝區滿時加入資料,消費者不會在緩衝區空時消耗資料。3.解決辦法 讓生產者在緩衝區滿時休眠,等下次消費者消耗緩衝區中的資料的時候,生產者才能被喚醒...