java线程池参数含义
轉(zhuǎn)載自?http://blog.csdn.net/zhouhl_cn/article/details/7392607 感謝分享
項(xiàng)目中開發(fā)通常不會直接使用ThreadPoolExecutor,而是通過Executors.newFixedThreadPool()這種簡易寫法,創(chuàng)建適合自己項(xiàng)目的線程池。但是了解最基本的線程池ThreadPoolExecutor是十分必要的,尤其是做一些定制方法。比如在執(zhí)行完一個線程任務(wù)后,進(jìn)行后續(xù)操作,此時如果自己實(shí)現(xiàn)一個類繼承自ThreadPoolExecutor
public class PmCollectDataHandlePool extends ThreadPoolExecutor并且實(shí)現(xiàn) @Override
protected void afterExecute(Runnable r, Throwable t) 是十分方便的做法
一下參數(shù)來自轉(zhuǎn)載
- corePoolSize
?
核心線程數(shù),核心線程會一直存活,即使沒有任務(wù)需要處理。當(dāng)線程數(shù)小于核心線程數(shù)時,即使現(xiàn)有的線程空閑,線程池也會優(yōu)先創(chuàng)建新線程來處理任務(wù),而不是直接交給現(xiàn)有的線程處理。
核心線程在allowCoreThreadTimeout被設(shè)置為true時會超時退出,默認(rèn)情況下不會退出。
?
- maxPoolSize
?
- keepAliveTime
?
當(dāng)線程空閑時間達(dá)到keepAliveTime,該線程會退出,直到線程數(shù)量等于corePoolSize。如果allowCoreThreadTimeout設(shè)置為true,則所有線程均會退出直到線程數(shù)量為0。
?
- allowCoreThreadTimeout
是否允許核心線程空閑退出,默認(rèn)值為false。
- queueCapacity
任務(wù)隊(duì)列容量。從maxPoolSize的描述上可以看出,任務(wù)隊(duì)列的容量會影響到線程的變化,因此任務(wù)隊(duì)列的長度也需要恰當(dāng)?shù)脑O(shè)置。
?
線程池按以下行為執(zhí)行任務(wù)
?
轉(zhuǎn)載于:https://www.cnblogs.com/juniorMa/p/5852170.html
總結(jié)
以上是生活随笔為你收集整理的java线程池参数含义的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [密码学基础][每个信息安全博士生应该知
- 下一篇: 【数据结构与算法】二分查找