1. 程式人生 > >Java線程池ThreadPoolExecuter:execute()原理

Java線程池ThreadPoolExecuter:execute()原理

pool img pools 如果 工作 等待隊列 mage maximum 技術分享

一、線程池執行任務的流程

技術分享圖片

  1. 如果線程池工作線程數<corePoolSize,創建新線程執行task,並不斷輪訓t等待隊列處理task。
  2. 如果線程池工作線程數>=corePoolSize並且等待隊列未滿,將task插入等待隊列。
  3. 如果線程池工作流程數>=corePoolSize並且等待隊列已滿,且工作線程數<maximumPoolSize,創建新線程執行task。
  4. 如果線程池工作流程數>=corePoolSize並且等待隊列已滿,且工作線程數=maximumPoolSize,執行拒絕策略。

二、ThreadPoolExecutor execute()

Java線程池ThreadPoolExecuter:execute()原理