https://blog.csdn.net/weixin_43214609/article/details/101616329
說到創建線程的方法,少不了提到線程池,因爲其有以下優點:
1.降低資源消耗(創建開銷)
2.提高響應速率(無需等待)
3.提高可管理性(統一分配)
1.線程池的構成
1.核心線程池大小
2.阻塞隊列:四種(數組、鏈表、同步、優先級)
3.最大線程池大小
4.飽和策略
5.生存時間:四種(拋異常不處理、拋異常調用者處理、丟棄最近一個線程處理新線程、不報異常不處理)
new ThreadPoolExecutor(傳入參數)
2.線程池分配流程
1.先看核心線程池是否已滿
2.再看阻塞隊列是否已滿
3.再看最大線程池是否已滿
4.使用飽和策略
3.內置四大線程池
FixedThreadPool()固定大小線程池:負載較重
SingleThreadExecutor()單線程池:保證順序
CachedThreadPool()緩存線程池:負載較輕
ScheduledThreadPool()定時線程池:定時任務