java 生产者消费者_基于JAVA的生产者消费者问题
一、需求分析
為了更好地理解進程同步的機制和過程,決定設計實現(xiàn)生產(chǎn)者消費者問題的解決,以實現(xiàn)進程的同步控制。
題目描述:有n個生產(chǎn)者在生產(chǎn)產(chǎn)品,這些產(chǎn)品將提供給m個消費者去消費,為了使生產(chǎn)者和消費者能并發(fā)執(zhí)行,在兩者之間設置一個具有k個緩沖區(qū)的緩沖池,生產(chǎn)者將它生產(chǎn)的產(chǎn)品放入一個緩沖區(qū)中,消費者可以從緩沖區(qū)中取走產(chǎn)品進行消費,顯然生產(chǎn)者和消費者之間必須保持同步,即不允許消費者到一個空的緩沖區(qū)中取產(chǎn)品,也不允許生產(chǎn)者向一個已經(jīng)放入產(chǎn)品的緩沖區(qū)中再次投放產(chǎn)品。
由此為題,編程實現(xiàn):輸入生產(chǎn)者個數(shù)、消費者個數(shù)、緩沖區(qū)個數(shù)、每個生產(chǎn)者生產(chǎn)產(chǎn)品的個數(shù),實現(xiàn)輸出:生產(chǎn)者消費者同步執(zhí)行情況下的具體執(zhí)行過程。
二、概要設計
為了簡化編碼過程,將題目轉(zhuǎn)變成由線程實現(xiàn)同步,以達到相同的目標,并采用Java實現(xiàn),在控制臺將程序執(zhí)行的整個過程生產(chǎn)者消費者的執(zhí)行過程輸出出來。
設計初步方案:使用Java的Thread來實現(xiàn)線程的生成,并繼承Thread類,重寫run()方法,來設定線程中的執(zhí)行代碼。
生產(chǎn)者流程圖
?
參考文檔和完整的文檔和源碼下載地址:
https://www.write-bug.com/article/1365.html
總結
以上是生活随笔為你收集整理的java 生产者消费者_基于JAVA的生产者消费者问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WEB在线预览PDF
- 下一篇: CSDN博客投票活动开始了