1. 程式人生 > >基於JAVA的生產者消費者問題

基於JAVA的生產者消費者問題

在作業系統課上的一點小感想,基於JAVA的生產者消費者問題,分享出來和大家一起學習。

 

同步機制,首先採用Java的synchronized來實現對緩衝區的互斥訪問,再設定一個訊號量來實現對緩衝區為空和為滿的狀態標記。生產者通過在synchronized同步程式碼塊中先對緩衝區是否為滿作出判斷,若緩衝區為滿,將當前執行緒新增到緩衝區的等待列表中,執行緒阻塞,並且在每次生產完一件產品之後喚醒緩衝區的所有等待列表;消費者通過在synchronized同步程式碼塊中先對緩衝區是否為空作出判斷,若緩衝區為空,將當前執行緒加入到緩衝區的等待列表中,並且在每次消費完一件產品之後喚醒緩衝區的所有等待列表。

 

 

詳細程式碼和文件在這裡

https://write-bug.com/article/1365.html