线程池 总结
文章目錄
- 線程池優點
- 線程池創建參數
- 隊列種類
- 同步移交隊列
- 有界隊列
- 無界隊列
- 拒絕策略
- DiscardPolicy
- AbortPolicy
- DiscardOldestPolicy
- CallerRunsPolicy
- 線程池執行流程
- 線程池類型
- 定長 FixedThreadPool
- 輪詢 ScheduledThreadPool
- 緩存 CachedThreadPool
- 單線程 SingleThreadPool
線程池優點
1.避免線程頻繁創建、消亡消耗資源。
2.提高響應效率。
3.線程可管理性。
4.線程可復用性。
線程池創建參數
| corePoolSize | 最大核心線程數 | |
| maximumPoolSize | 最大線程數 | |
| keepAliveTime | 閑置回收時間 | |
| unit | keepAliveTime的時間單位 | |
| workQueue | 在執行任務之前保存execute的任務的隊列 | |
| ThradFactory | 創建線程的工廠 | |
| handler | 拒絕策略 |
隊列種類
同步移交隊列
SynchronousQueue,每個插入操作必須等待另一個線程的對應移除操作
有界隊列
ArrayBlockingQueue,防止資源耗盡
無界隊列
LinkedBlockingQueue,任務執行時間過長時大量任務堆積可能OOM
拒絕策略
DiscardPolicy
直接拋棄
AbortPolicy
拋出異常
DiscardOldestPolicy
拋棄最先進入隊列的任務
CallerRunsPolicy
拋棄任務,交給調用線程池的任務來執行
線程池執行流程
線程池類型
定長 FixedThreadPool
輪詢 ScheduledThreadPool
緩存 CachedThreadPool
單線程 SingleThreadPool
總結
- 上一篇: 05_SpringCloud整合声明式H
- 下一篇: excel附件下载 Response 参