線程池的核心參數介紹


我們都知道線程池中很多的參數,了解這些參數的意義對實際問題的定義和解決是非常重要的,本文將會重點介紹:corePoolsize、maxPoolSize、keeyAliveTime、ThreadFactory、workQueue及Handler

corePoolSize

  核心線程數,即就是中線程池中長時間穩定存活的線程數

maxPoolSize

  最大線程數,重點強調線程中最大可包含的線程數。最大線程數的上限需要根據實際情況而定

keepAliveTime

  線程的存活時間,該參數是指非核心線程的存活時間,用來嚴格控制線程池中線程的數量盡可能的保持在一定的范圍內,若要修改核心線程的存活時長,可參考相關參數

ThreadFactory

  線程創建的工廠,新的線程都是由ThreadFactory創建的,系統默認使用的是Executors.defaultThreadFactory創建的,用它創建出來的線程的優先級、組等都是一樣的,並且他都不是守護線程。我們也可以使用自定義的線程創建工廠,並對相關的值進行修改

WorkQueue

  線程的工作隊列,常見的類型有三種,如下

  1.直接交換:SynchronousQueue,任務不多,是沒有容量的,maxPoolSize需要大一點

  2.無界隊列:LinkedBlockingQueue,可產生OOM

  3.有界隊列:ArrayBlockingQueue

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM