並行模式之生產者消費者

2021-09-28 08:32:29 字數 1333 閱讀 1056

生產者-消費者模式是乙個經典的多執行緒設計模式,它為多執行緒的協作提供了良好的解決方案。在生產者-消費者模式中,通常有兩類執行緒,即若干個生產者執行緒和若干個消費者執行緒。生產者執行緒負責提交使用者請求,消費者執行緒負責處理使用者請求。生產者和消費者之間通過共享記憶體緩衝區進行通訊。

生產者和消費者分開,互相不用關係

學到的只是啟蒙思想,如何使用,就看大家了

生產者-消費者模式是乙個經典的多執行緒設計模式,它為多執行緒的協作提供了良好的解決方案。在生產者-消費者模式中,通常有兩類執行緒,即若干個生產者執行緒和若干個消費者執行緒。生產者執行緒負責提交使用者請求,消費者執行緒負責處理使用者請求。生產者和消費者之間通過共享記憶體緩衝區進行通訊。
消費者
/**

* @package: com.consumer

* @description:從佇列中獲取引數

* @author: liuxin

* @date: 2017/7/11 下午5:20

*/public class consumer implements runnable

public void run() catch (interruptedexception e)

system.out.println("消費了:" + container.pop());}}

}

生產者
/**

* @package: com.consumer

* @description: 新增資料

* @author: liuxin

* @date: 2017/7/11 下午5:18

*/public class product implements runnable

public void run() catch (interruptedexception e) }}

}

public class main 

}

public class container  catch (exception e) 

}this.notify();

queue.add(message);

}/**

* 當已經消費完了,就等待,然後喚醒生產者去消=

* iooooouihyzas

* @return

*/public synchronized string pop() catch (exception e)

}this.notify();//喚醒生產者

return queue.poll();

}}

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

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

生產者 消費者模式

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

生產者消費者模式

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