线程面试:生产者 消费者问题
生活随笔
收集整理的這篇文章主要介紹了
线程面试:生产者 消费者问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
更多面試題請狠狠的點擊 下載
生產者消費者問題是研究多線程程序時繞不開的經典問題之一,它描述是有一塊緩沖區作為倉庫,生產者可以將產品放入倉庫,消費者則可以從倉庫中取走產品。解決生產者/消費者問題的方法可分為兩類:(1)采用某種機制保護生產者和消費者之間的同步;(2)在生產者和消費者之間建立一個管道。第一種方式有較高的效率,并且易于實現,代碼的可控制性較好,屬于常用的模式。第二種管道緩沖區不易控制,被傳輸數據對象不易于封裝等,實用性不強。因此本文只介紹同步機制實現的生產者/消費者問題。
同步問題核心在于:如何保證同一資源被多個線程并發訪問時的完整性。常用的同步方法是采用信號或加鎖機制,保證資源在任意時刻至多被一個線程訪問。Java語言在多線程編程上實現了完全對象化,提供了對同步機制的良好支持。在Java中一共有四種方法支持同步,其中前三個是同步方法,一個是管道方法。
倉庫代碼段?
總結
以上是生活随笔為你收集整理的线程面试:生产者 消费者问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第三方快递接口API调用
- 下一篇: 弘成科技 java单例模式