ThreadPoolExecutor线程池详解
生活随笔
收集整理的這篇文章主要介紹了
ThreadPoolExecutor线程池详解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?
?
?
七個(gè)參數(shù):
- corePoolSize:核心池的大小,在創(chuàng)建了線程池后,默認(rèn)情況下,線程池中并沒(méi)有任何線程,而是等待有任務(wù)到來(lái)才創(chuàng)建線程去執(zhí)行任務(wù),當(dāng)有任務(wù)來(lái)之后,就會(huì)創(chuàng)建一個(gè)線程去執(zhí)行任務(wù),當(dāng)線程池中的線程數(shù)目達(dá)到corePoolSize后,就會(huì)把到達(dá)的任務(wù)放到緩存隊(duì)列當(dāng)中;
- maximumPoolSize:線程池最大線程數(shù);
- keepAliveTime:表示線程沒(méi)有任務(wù)執(zhí)行時(shí)最多保持多久時(shí)間會(huì)終止;
- unit:參數(shù)keepAliveTime的時(shí)間單位(DAYS、HOURS、MINUTES、SECONDS 等);
-
workQueue:阻塞隊(duì)列,用來(lái)存儲(chǔ)等待執(zhí)行的任務(wù);
threadFactory:線程工廠,主要用來(lái)創(chuàng)建線程- ArrayBlockingQueue (有界隊(duì)列)
- LinkedBlockingQueue (無(wú)界隊(duì)列)
- SynchronousQueue
-
handler:拒絕處理任務(wù)的策略
- AbortPolicy:丟棄任務(wù)并拋出 RejectedExecutionException 異常。(默認(rèn)這種)
- DiscardPolicy:也是丟棄任務(wù),但是不拋出異常
- DiscardOldestPolicy:丟棄隊(duì)列最前面的任務(wù),然后重新嘗試執(zhí)行任務(wù)(重復(fù)此過(guò)程)
- CallerRunsPolicy:由調(diào)用線程處理該任務(wù)
?
轉(zhuǎn)載于:https://www.cnblogs.com/coder-lzh/p/9418831.html
總結(jié)
以上是生活随笔為你收集整理的ThreadPoolExecutor线程池详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据结构(一)线性表链式存储实现
- 下一篇: hdu 3068 最长回文【manach