1. 程式人生 > >執行緒協作:生產者與消費者

執行緒協作:生產者與消費者

pv (page view): 每個頁面的訪問量(併發)

uv (unique view): 每個使用者的訪問量 / 唯一的訪問量

vv (visit view): 訪問量 (早上訪問一次,下午訪問一次,算訪問2次)

分析:這時一個執行緒同步問題,生產者和消費者 共享 同一個資源,並且生產者和消費者之間相互依賴,互為條件。

    1. 對於生產者,沒有生產產品之前,要通知消費者等待。而產生了產品之後,又需要馬上通知消費者消費。

    2.對於消費者,在消費之後,要通知生產者已經消費結束,需要繼續生產新產品以供消費。

    3.在生產者消費者問題中,僅有synchronized 是不夠的

                synchronized 可阻止併發更新同一個共享資源,實現了同步。

                synchronized 不能用來實現不同執行緒之間的訊息傳遞(通訊)

解決方式一:

解決方式二:併發協作模式 “生產者/消費者模式” 訊號燈;