最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java多線程中線程池常見7個參數(shù)的詳解以及執(zhí)行流程

 更新時間:2023年07月26日 15:24:36   作者:健康平安的活著  
本文主要介紹了Java多線程中線程池常見7個參數(shù)的詳解以及執(zhí)行流程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一 線程池常見參數(shù)

1.1 概念

1.2 7個參數(shù)說明 

7個參數(shù):

int corePoolSize, 常駐線程數(shù)量(核心)
int maximumPoolSize,最大線程數(shù)量
long keepAliveTime,TimeUnit unit,線程存活時間
BlockingQueue<Runnable> workQueue,阻塞隊列(排隊的線程放入)
ThreadFactory threadFactory,線程工廠,用于創(chuàng)建線程
RejectedExecutionHandler handler拒絕策略(線程滿了)

1.3 coresize和maxsize,poolsize

1.corePoolSize

線程池的核心線程數(shù)量,線程池的基本大小,即在沒有任務(wù)需要執(zhí)行的時候線程池的大小,并且只有在工作隊列滿了的情況下才會創(chuàng)建超出這個數(shù)量的線程。

2.maximumPoolSize

線程池中允許的最大線程數(shù)

3.poolSize

線程池中當前線程的數(shù)量

3者之間的關(guān)系:

新提交一個任務(wù)時的處理流程很明顯:

1、如果當前線程池的線程數(shù)還沒有達到核心線程數(shù)(poolSize < corePoolSize),無論是否有空閑的線程,都新增一個線程處理新提交的任務(wù);

2、如果當前線程池的線程數(shù)大于或等于核心線程數(shù)(poolSize >= corePoolSize) 且任務(wù)隊列未滿時,就將新提交的任務(wù)提交到阻塞隊列排隊,等候處理workQueue.offer(command);

3、如果當前線程池的線程數(shù)大于或等于核心線程數(shù)(poolSize >= corePoolSize) 且任務(wù)隊列滿時;

3.1、當前poolSize<maximumPoolSize,那么就新增線程來處理任務(wù);

3.2、當前poolSize>=maximumPoolSize,那么意味著線程池的處理能力已經(jīng)達到了極限,此時需要拒絕新增加的任務(wù)。至于如何拒絕處理新增的任務(wù),取決于線程池的飽和策略RejectedExecutionHandler。

1.4 newFixedThreadPool

newFixedThreadPool中設(shè)定的線程數(shù)是核心線程數(shù),還是最大線程數(shù),開源代碼如下:

 底層繼續(xù)查看 new  ThreadPoolExecutor的源代碼

通過查看源碼:答案是:核心線程數(shù)和最大線程數(shù)都設(shè)置成了定義的線程數(shù)量。

到此這篇關(guān)于Java多線程中線程池常見7個參數(shù)的詳解以及執(zhí)行流程的文章就介紹到這了,更多相關(guān)Java 線程池參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MyBatis使用resultMap如何解決列名和屬性名不一致

    MyBatis使用resultMap如何解決列名和屬性名不一致

    這篇文章主要介紹了MyBatis使用resultMap如何解決列名和屬性名不一致的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 淺談常用字符串與集合類轉(zhuǎn)換的工具類

    淺談常用字符串與集合類轉(zhuǎn)換的工具類

    下面小編就為大家?guī)硪黄獪\談常用字符串與集合類轉(zhuǎn)換的工具類。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • IDEA下從零開始搭建SpringBoot工程的方法步驟

    IDEA下從零開始搭建SpringBoot工程的方法步驟

    這篇文章主要介紹了IDEA下從零開始搭建SpringBoot工程的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Java 使用線程池執(zhí)行多個任務(wù)的示例

    Java 使用線程池執(zhí)行多個任務(wù)的示例

    這篇文章主要介紹了Java 使用線程池執(zhí)行多個任務(wù)的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • mybatis plus 自動轉(zhuǎn)駝峰配置小結(jié)

    mybatis plus 自動轉(zhuǎn)駝峰配置小結(jié)

    SpringBoot提供兩種配置Mybatis的方式,第一種是通過yml或application.properties文件開啟配置,第二種是使用自定義配置類,通過給容器添加一個ConfigurationCustomizer來實現(xiàn)更靈活的配置,這兩種方法可以根據(jù)項目需求和個人喜好選擇使用
    2024-10-10
  • Java?Playwright實現(xiàn)瀏覽器最大化

    Java?Playwright實現(xiàn)瀏覽器最大化

    Playwright?是一個用于自動化?Web?應(yīng)用測試的現(xiàn)代工具,支持多種語言(包括?Java)及多個瀏覽器,本文主要介紹了Java如何使用Playwright實現(xiàn)瀏覽器最大化,需要的可以參考下
    2024-12-12
  • Java設(shè)計模式之java觀察者模式詳解

    Java設(shè)計模式之java觀察者模式詳解

    這篇文章主要介紹了Java經(jīng)典設(shè)計模式之觀察者模式,簡單分析了觀察者模式的概念、原理并結(jié)合實例形式給出了java觀察者模式的具體用法與相關(guān)注意事項,需要的朋友可以參考下
    2021-09-09
  • java Struts2框架下實現(xiàn)文件上傳功能

    java Struts2框架下實現(xiàn)文件上傳功能

    這篇文章主要為大家詳細介紹了java Struts2框架下實現(xiàn)文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • idea perttier的使用和縮進改為4不成功問題及解決

    idea perttier的使用和縮進改為4不成功問題及解決

    這篇文章主要介紹了idea perttier的使用和縮進改為4不成功問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Spring @Scheduler使用cron表達式時的執(zhí)行問題詳解

    Spring @Scheduler使用cron表達式時的執(zhí)行問題詳解

    Spring給程序猿們帶來了許多便利。下面這篇文章主要給大家介紹了關(guān)于Spring @Scheduler使用cron表達式時的執(zhí)行問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09

最新評論

老河口市| 嵊泗县| 安岳县| 罗定市| 昆明市| 页游| 隆安县| 六盘水市| 偏关县| 临武县| 岫岩| 江源县| 宝丰县| 宣恩县| 北流市| 丰台区| 鄂州市| 谢通门县| 醴陵市| 福泉市| 阿合奇县| 偏关县| 合水县| 南通市| 饶阳县| 越西县| 安塞县| 和平区| 湄潭县| 慈利县| 涟源市| 保定市| 普宁市| 阳西县| 灵石县| 潞西市| 泸西县| 昆明市| 德安县| 文成县| 胶南市|