生產者 消費者例項

2021-04-22 19:01:04 字數 2312 閱讀 9848

package com.rx.thread.produce.consume;

public

class product 

public

void setid(string id) 

public product(string id) 

public string tostring() 

public

static

void main(string args) }

package com.rx.thread.produce.consume;

public

class store 

/** 倉庫中的產品 */

private product product = null;

public product getproduct() 

public

void setproduct(product product) 

/** 顯示當前倉庫狀態是否滿 */

private boolean empty = true;

/***

* 放置產品

* @param product 放置的產品,可以抽象出來,放置任意物品

*/public

void putproduct(product product)  catch (interruptedexception e) 

}empty = false;

this.product = product;

system.out.println(thread.currentthread().getname() + " put product : " + product.getid());

//notify();

this.notifyall();}}

/***

* 取出產品

* @return 取出的產品

* @throws interruptedexception 

*/public synchronized product takeoutproduct()   catch (interruptedexception e) 

}system.out.println(thread.currentthread().getname() + " take out product : "+ product.getid());

empty = true;

//notify();

this.notifyall();

return

this.product;}}

package com.rx.thread.produce.consume;

public

class produce implements runnable 

public

void run()  catch (interruptedexception e) }}

} package com.rx.thread.produce.consume;

public

class consume implements runnable 

public

void run() 

}system.out.println("end.");}}

package com.rx.thread.produce.consume;

public

class test }

thread-0 put product : 0

thread-1 take out product : 0

thread-1 now is waiting for product

thread-0 put product : 1

waiting....

thread-1 take out product : 1

thread-1 now is waiting for product

waiting....

thread-1 now is waiting for product

thread-0 put product : 2

waiting....

thread-1 take out product : 2

thread-1 now is waiting for product

waiting....

thread-1 now is waiting for product

thread-0 put product : 3

waiting....

thread-1 take out product : 3

end.

生產者消費者 生產者與消費者模式

一 什麼是生產者與消費者模式 其實生產者與消費者模式就是乙個多執行緒併發協作的模式,在這個模式中呢,一部分執行緒被用於去生產資料,另一部分執行緒去處理資料,於是便有了形象的生產者與消費者了。而為了更好的優化生產者與消費者的關係,便設立乙個緩衝區,也就相當於乙個資料倉儲,當生產者生產資料時鎖住倉庫,不...

Kafka消費者生產者例項

它允許發布和訂閱記錄流,類似於訊息佇列或企業訊息傳遞系統。它可以容錯的方式儲存記錄流。它可以處理記錄發生時的流。由於主要介紹如何使用kafka快速構建生產者消費者例項,所以不會涉及kafka內部的原理。乙個基於kafka的生產者消費者過程通常是這樣的 來自官網 cd kafka 2.11 0.11....

Kafka消費者生產者例項

2017年07月30日18 22 56 rhwayfunn 閱讀數 13818標籤 kafka 更多 個人分類 分布式系統 為了更為直觀展示卡夫卡的訊息生產消費的過程,我會從基於控制台和基於應用兩個方面介紹使用例項.kafka是乙個分布式流處理平台,具體來說有三層含義 它允許發布和訂閱記錄流,類似於...