欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

1.1 概念

1.2 7個(gè)參數(shù)說明 

7個(gè)參數(shù):

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

1.3 coresize和maxsize,poolsize

1.corePoolSize

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

2.maximumPoolSize

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

3.poolSize

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

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

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

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

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

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

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

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

1.4 newFixedThreadPool

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

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

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

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

相關(guān)文章

  • MyBatis實(shí)現(xiàn)自定義MyBatis插件的流程詳解

    MyBatis實(shí)現(xiàn)自定義MyBatis插件的流程詳解

    MyBatis的一個(gè)重要的特點(diǎn)就是插件機(jī)制,使得MyBatis的具備較強(qiáng)的擴(kuò)展性,我們可以根據(jù)MyBatis的插件機(jī)制實(shí)現(xiàn)自己的個(gè)性化業(yè)務(wù)需求,本文給大家介紹了MyBatis實(shí)現(xiàn)自定義MyBatis插件的流程,需要的朋友可以參考下
    2024-12-12
  • Java泛型實(shí)現(xiàn)類型安全的通用類型轉(zhuǎn)換器

    Java泛型實(shí)現(xiàn)類型安全的通用類型轉(zhuǎn)換器

    在開發(fā)中,我們常常需要在不同類型之間進(jìn)行轉(zhuǎn)換,為了提高代碼的可讀性與安全性,Java的泛型機(jī)制提供了強(qiáng)大的類型檢查能力,下面我們就來看看如何通過泛型實(shí)現(xiàn)類型安全的通用轉(zhuǎn)換器
    2024-11-11
  • idea啟動(dòng)spring項(xiàng)目中文亂碼的解決方法

    idea啟動(dòng)spring項(xiàng)目中文亂碼的解決方法

    本文主要介紹了idea啟動(dòng)spring項(xiàng)目中文亂碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • CountDownLatch基于AQS阻塞工具用法詳解

    CountDownLatch基于AQS阻塞工具用法詳解

    這篇文章主要為大家介紹了CountDownLatch基于AQS阻塞工具用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • mybatisplus下劃線駝峰轉(zhuǎn)換的問題解決

    mybatisplus下劃線駝峰轉(zhuǎn)換的問題解決

    在mybatis-plus中,下劃線-駝峰自動(dòng)轉(zhuǎn)換可能導(dǎo)致帶下劃線的字段查詢結(jié)果為null,本文就來介紹一下mybatisplus下劃線駝峰轉(zhuǎn)換的問題解決,感興趣的可以了解一下
    2024-10-10
  • jsp+servlet實(shí)現(xiàn)簡單登錄頁面功能(附demo)

    jsp+servlet實(shí)現(xiàn)簡單登錄頁面功能(附demo)

    本文主要介紹了jsp+servlet實(shí)現(xiàn)簡單登錄頁面功能登錄成功跳轉(zhuǎn)新頁面,登錄失敗在原登錄界面提示登錄失敗信息,對(duì)初學(xué)者有一定的幫助,感興趣的可以了解一下
    2021-07-07
  • java課程設(shè)計(jì)之坦克大戰(zhàn)

    java課程設(shè)計(jì)之坦克大戰(zhàn)

    這篇文章主要為大家詳細(xì)介紹了java課程設(shè)計(jì)之坦克大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • linux配置java環(huán)境變量詳細(xì)過程

    linux配置java環(huán)境變量詳細(xì)過程

    這篇文章主要介紹了linux配置java環(huán)境變量詳細(xì)過程,需要的朋友可以參考下
    2015-09-09
  • Java JVM內(nèi)存區(qū)域詳解

    Java JVM內(nèi)存區(qū)域詳解

    下面小編就為大家?guī)硪黄趈vm java內(nèi)存區(qū)域的介紹。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2021-11-11
  • MyBatis-Plus聯(lián)表查詢及分頁代碼舉例

    MyBatis-Plus聯(lián)表查詢及分頁代碼舉例

    本文介紹了mybatis-plus-join工具的使用,該工具可以簡化mybatis-plus的聯(lián)表查詢,使得開發(fā)者可以以類似QueryWrapper的方式進(jìn)行聯(lián)表查詢,無需手動(dòng)編寫xml文件,感興趣的朋友跟隨小編一起看看吧
    2025-03-03

最新評(píng)論