日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UNIX(多线程):22---几种常见的线程池

發(fā)布時間:2023/12/13 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UNIX(多线程):22---几种常见的线程池 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

常見線程池

1、newSingleThreadExecutor

創(chuàng)建一個單線程化的線程池,它只會用唯一的工作線程來執(zhí)行任務(wù),保證所有任務(wù)按照指定順序(FIFO, LIFO, 優(yōu)先級)執(zhí)行。

從構(gòu)造方法來看,它可以單獨執(zhí)行,也可以與周期線程池結(jié)合用。其任務(wù)隊列是LinkedBlockingQueue,這是個無界的阻塞隊列,因為線程池里只有一個線程,就確保所有的任務(wù)都在同一個線程中順序執(zhí)行,這樣就不需要處理線程同步的問題。這類線程池適用于多個任務(wù)順序執(zhí)行的場景。

2、newFixedThreadPool

創(chuàng)建一個定長線程池,可控制線程最大并發(fā)數(shù),超出的線程會在隊列中等待。

一個固定大小的線程池,可以用于已知并發(fā)壓力的情況下,對線程數(shù)做限制。

這類線程池的特點就是里面全是核心線程,沒有非核心線程,也沒有超時機制,任務(wù)大小也是沒有限制的,數(shù)量固定,即使是空閑狀態(tài),線程不會被回收,除非線程池被關(guān)閉,從構(gòu)造方法也可以看出來,只有兩個參數(shù),一個是指定的核心線程數(shù),一個是線程工廠,keepAliveTime無效。任務(wù)隊列采用了無界的阻塞隊列LinkedBlockingQueue,執(zhí)行execute方法的時候,運行的線程沒有達到corePoolSize就創(chuàng)建核心線程執(zhí)行任務(wù),否則就阻塞在任務(wù)隊列中,有空閑線程的時候去取任務(wù)執(zhí)行。由于該線程池線程數(shù)固定,且不被回收,線程與線程池的生命周期同步,所以適用于任務(wù)量比較固定但耗時長的任務(wù)。

3、newCache

總結(jié)

以上是生活随笔為你收集整理的UNIX(多线程):22---几种常见的线程池的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。