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