線程池工作機制

【線程池】在接口性能時,尤其注重了線程池的使用。不建議使用Executors,原因在於它裏面的很多方法默認使用的都是無界的LinkedBlockingQueue,高併發情況下,無界隊列很容易導致OOM,而OOM會導致所有請求都無法處理,這是災難性問題。因此建議使用ThreadPoolExecutor來創建線程池管理我們的線程。線程池的7個參數配置有很大考究,在使用過程中注意分析自己的業務場景,進行合理的配置。總的可以總結爲以下兩點:

     其一:小線程,大阻塞隊列,意味着可以提高訪問接口的吞吐量;

     其二:大線程,小阻塞隊列,意味着可以提高CPU利用率;

    總之,我們視自己的實際應用場景而選擇最爲合理的核心線程數、最大線程數、阻塞隊列以及拒絕策略,保證我們的問題得到最優的解決。

  • 線程池工作機制:瞭解線程池工作機制很有必要,這可以幫助你分析併發情況下出現的問題,以及如何解決問題提供一個理論參考。工作機制示意圖如下所示:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章