導航:首頁 > 編程語言 > 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相關的資料

熱點內容
多益網路校招哪些崗位 瀏覽:65
女生微信頭像黑色 瀏覽:166
慢走絲g代碼 瀏覽:30
編程四方括弧怎麼打出來 瀏覽:464
如何改網路讓它變慢 瀏覽:12
應用多開助手安卓版 瀏覽:38
如何把思維傳送網路 瀏覽:339
vb數據怎麼合並 瀏覽:700
掃碼購物app哪個好 瀏覽:39
win7桌面整理工具 瀏覽:489
ps參考線視頻教程 瀏覽:608
如何調用指針中存儲的數據 瀏覽:807
壓縮文件比原文小多少 瀏覽:994
蘋果mini2怎麼讀txt文件 瀏覽:498
java單例模式的應用 瀏覽:839
無源蜂鳴器代碼 瀏覽:228
買qq號技巧 瀏覽:505
excel中如何把數據按柱狀圖表示 瀏覽:441
linux4怎麼調分辨 瀏覽:985
數據線小米多少錢 瀏覽:356

友情鏈接