導航:首頁 > 編程語言 > javamaxpoolsize

javamaxpoolsize

發布時間:2025-01-27 02:19:30

java常用的幾種線程池實例講解

下面給你介紹4種線程池:

1、newCachedThreadPool:

2、newFixedThreadPool:


3、newSingleThreadExecutor

4、NewScheledThreadPool:

最後給你說一下線程池任務執行流程:

❷ 線程池的參數有哪些

在Java編碼的過程中,我們經常會創建一個線程來提高程序的執行效率,雖然這樣實現起來很方便,但是會有一個問題:如果並發的線程數多,並且每個線程都是執行一個時間很短的任務就結束了,這樣會造成頻繁的創建和銷毀線程從而導致降低系統的效率。
那麼問題來了,有沒有辦法可用復用創建好的線程呢,也就是線程執行完一個任務後,不被銷毀,繼續執行其他的任務?

在Java可以通過線程池來實現這樣的效果。
下面從三個方面和大家一起來探討一下Java線程池相關的內容。
1.Java中的ThreadPoolExecutor類。
2.Java中4種線程池的使用。
3.Java線程池常用參數如何設置。

一、Java中的ThreadPoolExecutor類

A.ThreadPoolExecutor的重要參數

1.corePoolSize:核心線程數
核心線程會一直存活,及時沒有任務需要執行。
當線程數小於核心線程數時,即使有線程空閑,線程池也會優先創建新線程處理。
設置allowCoreThreadTimeout=true(默認false)時,核心線程會超時關閉。
2.queueCapacity:任務隊列容量(阻塞隊列)
當核心線程數達到最大時,新任務會放在隊列中排隊等待執行。
3.maxPoolSize:最大線程數
當線程數>=corePoolSize,且任務隊列已滿時。線程池會創建新線程來處理任務。
當線程數=maxPoolSize,且任務隊列已滿時,線程池會拒絕處理任務而拋出異常。
4.keepAliveTime:線程空閑時間
當線程空閑時間達到keepAliveTime時,線程會退出,直到線程數量=corePoolSize。
如果allowCoreThreadTimeout=true,則會直到線程數量=0。
5.allowCoreThreadTimeout:允許核心線程超時
6.rejectedExecutionHandler:任務拒絕處理器。

B.ThreadPoolExecutor執行過程

1.當線程數小於核心線程數時,創建線程。

2.當線程數大於等於核心線程數,且任務隊列未滿時,將任務放入任務隊列。

3.當線程數大於等於核心線程數,且任務隊列已滿。(1)若線程數小於最大線程數,創建線程。(2)若線程數等於最大線程數,拋出異常,拒絕任務。

二、Java中4種線程池
Java通過Executors提供四種線程池,分別為:
newCachedThreadPool創建一個可緩存線程池,如果線程池長度超過處理需要,可靈活回收空閑線程,若無可回收,則新建線程。
newFixedThreadPool 創建一個定長線程池,可控制線程最大並發數,超出的線程會在隊列中等待。
newScheledThreadPool 創建一個定長線程池,支持定時及周期性任務執行。
newSingleThreadExecutor 創建一個單線程化的線程池,它只會用唯一的工作線程來執行任務,保證所有任務按照指定順序(FIFO, LIFO, 優先順序)執行。

❸ Java 線程池的問題

你的理解沒毛病。

核心線程數(corePoolSize):核心線程會一直存活,即使沒有任務需要處理。當線程數小於核心線程數時,即使現有的線程空閑,線程池也會優先創建新線程來處理任務,而不是直接交給現有的線程處理。

最大線程數(maxPoolSize):當線程數大於或等於核心線程,且任務隊列已滿時,線程池會創建新的線程,直到線程數量達到maxPoolSize。如果線程數已等於maxPoolSize,且任務隊列已滿,則已超出線程池的處理能力,線程池會拒絕處理任務而拋出異常。

線程池按以下行為執行任務

閱讀全文

與javamaxpoolsize相關的資料

熱點內容
cudp文件傳輸 瀏覽:452
mac文件保存找不到桌面 瀏覽:614
數控編程軟體使用最多是哪個 瀏覽:324
root版本 瀏覽:61
html表格顏色代碼 瀏覽:805
java雙目運算符 瀏覽:159
qq古代唯美女生頭像 瀏覽:893
app資料庫伺服器配置 瀏覽:938
如何在電視上安裝米家app 瀏覽:991
二手物品哪個網站好 瀏覽:943
jdk轉換時找不到文件 瀏覽:345
在電腦上怎樣刪除文件夾 瀏覽:708
魅族手機黑屏找不到文件 瀏覽:729
如何找回qq幾年前的數據 瀏覽:867
不想學編程選什麼專業 瀏覽:97
華為g610一t11大聲音rom版本下載 瀏覽:645
背景音樂通常採用wav格式的音樂文件 瀏覽:218
java程序員提高班 瀏覽:67
為什麼要發明可編程式控制制器 瀏覽:846
電腦顯示佔用空間找不到文件 瀏覽:963

友情鏈接