當前位置:秀美範 >

生活 >經驗 >

線程池的實現原理 Java線程池實現原理

線程池的實現原理 Java線程池實現原理

線程池的實現原理 Java線程池實現原理

1、java線程池的實現原理很簡單,説白了就是一個線程集合workerSet和一個阻塞隊列workQueue。當用户向線程池提交一個任務(也就是線程)時,線程池會先將任務放入workQueue中。workerSet中的線程會不斷的從workQueue中獲取線程然後執行。當workQueue中沒有任務的時候,worker就會阻塞,直到隊列中有任務了就取出來繼續執行。

2、線程池的幾個主要參數的作用

corePoolSize: 規定線程池有幾個線程(worker)在運行。

maximumPoolSize: 當workQueue滿了,不能添加任務的時候,這個參數才會生效。規定線程池最多隻能有多少個線程(worker)在執行。

keepAliveTime: 超出corePoolSize大小的那些線程的生存時間,這些線程如果長時間沒有執行任務並且超過了keepAliveTime設定的時間,就會消亡。

unit: 生存時間對於的單位

workQueue: 存放任務的隊列

threadFactory: 創建線程的工廠

handler: 當workQueue已經滿了,並且線程池線程數已經達到maximumPoolSize,將執行拒絕策略。

標籤: 線程 java
  • 文章版權屬於文章作者所有,轉載請註明 https://xiumeifan.com/shenghuo/jingyan/lll79w.html