生產者與消費者模式

2021-10-23 19:01:01 字數 1290 閱讀 6161

我們模擬生產者生產水果,消費者消費水果~

首先是水果類:

package demo4;

public class fruit

public void setflag(boolean flag)

public void getfruit()

public void setfruit()

}

接下來是生產者類

package demo4;

public class product implements runnable

@override

public void run() catch (interruptedexception e)

}fruit.setfruit();

fruit.setflag(true);

fruit.notify();}}

}}

消費者類:

package demo4;

public class customer implements runnable

@override

public void run() catch (interruptedexception e)

}fruit.getfruit();

fruit.setflag(false);

fruit.notify();}}

}}

測試類:

package demo4;

public class test

}

部分列印結果

生產者生產第76154個水果

消費者消費第76154個水果

生產者生產第76155個水果

消費者消費第76155個水果

生產者生產第76156個水果

消費者消費第76156個水果

生產者生產第76157個水果

消費者消費第76157個水果

生產者生產第76158個水果

消費者消費第76158個水果

生產者生產第76159個水果

消費者消費第76159個水果

生產者生產第76160個水果

消費者消費第76160個水果

生產者生產第76161個水果

消費者消費第76161個水果

生產者生產第76162個水果

process finished with exit code -1

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

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

生產者 消費者模式

一 我哥們把資料存入redis快取區 生產者 二 我從緩衝器取資料,並作處理!消費者 詳細 如下 取訂單並判斷 redis new redis conn flag redis connect redis translate usefull host,redis translate usefull p...

生產者消費者模式

常見場景 某個模組負責產生資料,這些資料由另乙個模組來負責處理。產生資料的模組,就形象地稱為生產者 而處理資料的模組,就稱為消費者。該模式還需要有乙個緩衝區處於生產者和消費者之間,作為乙個中介。生產者把資料放入緩衝區,而消費者從緩衝區取出資料 緩衝區作用 1.解耦,生產者和消費者只依賴緩衝區,而不互...