多執行緒學習之生產者消費者模式學習筆記

2021-06-18 06:06:30 字數 1252 閱讀 4282

/** 

* 需求:**實現多執行緒的生產者消費者模式

* 基本實現方法: 1.建立生產者類 2.建立消費者類 3.建立資源類 4.生產者不斷的建立資源 5.消費者不斷的消費資源

*/

class threadproducerandcustomer

} /**

* 資源類

*/

class resource

// 生產資源方法

public synchronized void prores() catch (interruptedexception e)

} count++;

system.out.println(thread.currentthread().getname() + " 生產了第 " + count

+ " 個 " + this.name);

// 生產完畢後更改是否已經生產的標識

flag = true;

// 喚醒執行緒池中的所有沉睡的執行緒

notifyall();

} // 消費資源的方法

public synchronized void cusres() catch (interruptedexception e)

} system.out.println(thread.currentthread().getname()

+ "----------消費了第----------- " + count + " 個 " + this.name);

// 消費資源後更改資源表示為false,並喚醒所有執行緒池中的沉睡執行緒進行爭搶生產

flag = false;

notifyall();

} }

/**

* 生產者類

*/

class producer implements runnable

public void run() catch (interruptedexception e)

} }

} /**

* 消費者類

*/

class customer implements runnable

public void run() catch (interruptedexception e)

} }

}

多執行緒 生產者消費者

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

多執行緒 生產者消費者模式(2)

現在用佇列來實現一次這個生產者和消費者模型,程式的主要思想如下圖。乙個全域性的佇列,乙個鎖,乙個訊號量,collectimages和sendimages執行緒訪問這個佇列的時候都加鎖。全部原始碼 created by honkee on 5 17 16.include include include...

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

1 生產者僅僅在倉儲未滿時候生產,倉滿則停止生產。2 消費者僅僅在倉儲有產品時候才能消費,倉空則等待。3 當消費者發現倉儲沒產品可消費時候會通知生產者生產。4 生產者在生產出可消費產品時候,應該通知等待的消費者去消費 使用object的wait notify 方法 1.wait 當快取區已滿 已空時...