降低資源的消耗:通過重複利用已經建立好的執行緒降低執行緒的建立和銷毀帶來的損耗。
提高響應速度:當執行緒池中的執行緒數沒有超過執行緒池的最大上限時,有的執行緒處於等待分配任務的狀態,當任務來時無需建立新的執行緒就能執行。
提高執行緒的可管理性:執行緒池會根據當前系統特點對池內的執行緒進行優化處理,減少建立和銷毀執行緒帶來的系統開銷。無限的建立和銷毀執行緒不僅消耗系統資源,還降低系統的穩定性,使用執行緒池進行統一分配。
5] 核心執行緒數;執行緒池,建立好後就準備就緒的執行緒數量,就等待來接受非同步任務去執行。
2.int maximumpoolsize:[
200] 最大執行緒數;控制資源。
3.long keepalivetime:存活時間。如果當前的執行緒數量大於core數量。 釋放空閒的執行緒(maximumpoolsize-corepoolsize),只要執行緒空閒大於指定的keepalivetime。
4. timeunit unit:時間單位。
5. blockingqueue
workqueue:阻塞佇列。如果任務有很多,就會將目前多的任務放在佇列裡面。只要有執行緒空閒,就會去佇列裡面取出新的任務繼續執行。
6. threadfactory threadfactory:執行緒的建立工廠。
7. rejectedexecutionhandler handler:如果佇列滿了,按照我們指定的拒絕策略拒絕執行任務。
執行緒池工作順序注意點
為什麼要用執行緒池,執行緒池的引數解釋
為什麼要用執行緒池?1 降低資源消耗 提高執行緒利用率,降低建立和銷毀執行緒的消耗。2 提高響應速度 任務來了,直接有執行緒可用可執行,而不是先建立執行緒,再執行。3 提高執行緒的可管理性 執行緒是稀缺資源,使用執行緒池可以統一分配調優監控。corepoolsize代表核心執行緒數,也就是正常情況下...
執行緒池引數
由於系統頻繁的建立和銷毀執行緒,因而使用執行緒池讓建立的執行緒進行復用 1.corepoolsize 指定了執行緒池中的執行緒數量 2.maximumpoolsize 執行緒池中最大執行緒數量 3.keepalivetime 當執行緒池中的執行緒數超過corepoolsize,多餘的空閒的執行緒的存...
執行緒池引數
我把執行緒池引數給做個形象的比喻,執行緒池 就好比乙個水池,池底有n個小洞,就是核心執行緒數量n,最大執行緒數量就是這個池子能裝多少個桌球,等待佇列 就是池子之外的一塊地方,有的佇列是有界的,就是大小固定,有的是無界的,大小不固定。任務 就是把桌球丟到池子中,讓桌球從池底的小洞掉下去。相當於執行緒的...