国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

            手機站
            千鋒教育

            千鋒學習站 | 隨時隨地免費學

            千鋒教育

            掃一掃進入千鋒手機站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學習站小程序
            隨時隨地免費學習課程

            當前位置:首頁  >  技術(shù)干貨  > ThreadPoolExecutor有哪些核心的配置參數(shù)?請簡要說明

            ThreadPoolExecutor有哪些核心的配置參數(shù)?請簡要說明

            來源:千鋒教育
            發(fā)布人:syq
            時間: 2022-09-09 15:29:32 1662708572

              corePoolSize 線程池中的核心線程數(shù),當提交一個任務時,線程池創(chuàng)建一個新線程執(zhí)行任務,直到當前線程數(shù)等于corePoolSize, 即使有其他空閑線程能夠執(zhí)行新來的任務, 也會繼續(xù)創(chuàng)建線程;如果當前線程數(shù)為corePoolSize,繼續(xù)提交的任務被保存到阻塞隊列中,等待被執(zhí)行;如果執(zhí)行了線程池的prestartAllCoreThreads()方法,線程池會提前創(chuàng)建并啟動所有核心線程。

            1

              workQueue 用來保存等待被執(zhí)行的任務的阻塞隊列,在JDK中提供了如下阻塞隊列:

              ArrayBlockingQueue: 基于數(shù)組結(jié)構(gòu)的有界阻塞隊列,按FIFO排序任務;LinkedBlockingQueue: 基于鏈表結(jié)構(gòu)的阻塞隊列,按FIFO排序任務,吞吐量通常要高于ArrayBlockingQueue; SynchronousQueue: 一個不存儲元素的阻塞隊列,每個插入操作必須等到另一個線程調(diào)用移除操作,否則插入操作一直處于阻塞狀態(tài),吞吐量通常要高于LinkedBlockingQueue; PriorityBlockingQueue:具有優(yōu)先級的無界阻塞隊列;

              LinkedBlockingQueue比ArrayBlockingQueue在插入刪除節(jié)點性能方面更優(yōu),但是二者在put(), take()任務的時均需要加鎖,SynchronousQueue使用無鎖算法,根據(jù)節(jié)點的狀態(tài)判斷執(zhí)行,而不需要用到鎖,其核心是Transfer.transfer().

              maximumPoolSize 線程池中允許的最大線程數(shù)。如果當前阻塞隊列滿了,且繼續(xù)提交任務,則創(chuàng)建新的線程執(zhí)行任務,前提是當前線程數(shù)小于maximumPoolSize;當阻塞隊列是無界隊列, 則maximumPoolSize則不起作用, 因為無法提交至核心線程池的線程會一直持續(xù)地放入workQueue.

              keepAliveTime 線程空閑時的存活時間,即當線程沒有任務執(zhí)行時,該線程繼續(xù)存活的時間;默認情況下,該參數(shù)只在線程數(shù)大于corePoolSize時才有用, 超過這個時間的空閑線程將被終止;

              unit keepAliveTime的單位

              threadFactory 創(chuàng)建線程的工廠,通過自定義的線程工廠可以給每個新建的線程設(shè)置一個具有識別度的線程名。默認為DefaultThreadFactory

              handler 線程池的飽和策略,當阻塞隊列滿了,且沒有空閑的工作線程,如果繼續(xù)提交任務,必須采取一種策略處理該任務,線程池提供了4種策略;

              AbortPolicy:直接拋出異常,默認策略; CallerRunsPolicy: 用調(diào)用者所在的線程來執(zhí)行任務;DiscardOldestPolicy:丟棄阻塞隊列中靠最前的任務,并執(zhí)行當前任務; DiscardPolicy: 直接丟棄任務;

              當然也可以根據(jù)應用場景實現(xiàn)RejectedExecutionHandler接口,自定義飽和策略,如記錄日志或持久化存儲不能處理的任務。

            tags:
            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
            免費領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學 138****2860 剛剛成功領(lǐng)取
            王同學 131****2015 剛剛成功領(lǐng)取
            張同學 133****4652 剛剛成功領(lǐng)取
            李同學 135****8607 剛剛成功領(lǐng)取
            楊同學 132****5667 剛剛成功領(lǐng)取
            岳同學 134****6652 剛剛成功領(lǐng)取
            梁同學 157****2950 剛剛成功領(lǐng)取
            劉同學 189****1015 剛剛成功領(lǐng)取
            張同學 155****4678 剛剛成功領(lǐng)取
            鄒同學 139****2907 剛剛成功領(lǐng)取
            董同學 138****2867 剛剛成功領(lǐng)取
            周同學 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT
            軟件定制開發(fā)中的敏捷開發(fā)是什么?

            軟件定制開發(fā)中的敏捷開發(fā)是什么軟件定制開發(fā)中的敏捷開發(fā),從宏觀上看,是一個高度關(guān)注人員交互,持續(xù)開發(fā)與交付,接受需求變更并適應環(huán)境變化...詳情>>

            2023-10-14 13:24:57
            什么是PlatformIo?

            PlatformIO是什么PlatformIO是一個全面的物聯(lián)網(wǎng)開發(fā)平臺,它為眾多硬件平臺和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

            2023-10-14 12:55:06
            云快照與自動備份有什么區(qū)別?

            1、定義和目標不同云快照的主要目標是提供一種快速恢復數(shù)據(jù)的方法,它只記錄在快照時間點后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標...詳情>>

            2023-10-14 12:48:59
            服務器為什么要用Linux?

            服務器為什么要用Linux作為服務器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務器操作系統(tǒng)的優(yōu)選,有其獨特的優(yōu)勢和特點。包括其...詳情>>

            2023-10-14 12:34:11
            ORM解決的主要問題是什么?

            ORM(對象關(guān)系映射)解決的主要問題是將關(guān)系數(shù)據(jù)庫與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)以表格的形式存儲,而在面向?qū)ο?..詳情>>

            2023-10-14 12:26:19