【線程池的實現(xiàn)原理和實現(xiàn)方法 線程池的實現(xiàn)原理】

文章插圖
1、java線程池的實現(xiàn)原理很簡單 , 說白了就是一個線程集合workerSet和一個阻塞隊列workQueue 。當(dāng)用戶向線程池提交一個任務(wù)(也就是線程)時,線程池會先將任務(wù)放入workQueue中 。workerSet中的線程會不斷的從workQueue中獲取線程然后執(zhí)行 。當(dāng)workQueue中沒有任務(wù)的時候 , worker就會阻塞,直到隊列中有任務(wù)了就取出來繼續(xù)執(zhí)行 。
2、線程池的幾個主要參數(shù)的作用
corePoolSize: 規(guī)定線程池有幾個線程(worker)在運行 。
maximumPoolSize: 當(dāng)workQueue滿了,不能添加任務(wù)的時候,這個參數(shù)才會生效 。規(guī)定線程池最多只能有多少個線程(worker)在執(zhí)行 。
keepAliveTime: 超出corePoolSize大小的那些線程的生存時間,這些線程如果長時間沒有執(zhí)行任務(wù)并且超過了keepAliveTime設(shè)定的時間,就會消亡 。
unit: 生存時間對于的單位
workQueue: 存放任務(wù)的隊列
threadFactory: 創(chuàng)建線程的工廠
handler: 當(dāng)workQueue已經(jīng)滿了,并且線程池線程數(shù)已經(jīng)達(dá)到maximumPoolSize,將執(zhí)行拒絕策略 。
相關(guān)經(jīng)驗推薦
- 合肥居家健康監(jiān)測的要求標(biāo)準(zhǔn)
- 笛子弱高音怎么吹的 笛子弱高音怎么吹
- 鉆山風(fēng)的功效與作用 鉆山風(fēng)的藥用功效
- 方管45度怎么切的標(biāo)準(zhǔn) 方管45度角切割方法
- 燃燒意志如何切換形象,燃燒意志怎么切換顯示的人物
- 中元節(jié)出生的人禁忌 中元節(jié)生人有什么忌諱嗎
- 廣東蘿卜酸的腌制方法 怎么做廣東酸蘿卜
- 酸辣椒的腌制方法 怎么腌制酸辣椒
- 四川酸豇豆的腌制方法 怎么做四川酸豇豆
- 魷魚炒酸菜的做法 怎么做魷魚炒酸菜
