400-650-7353

精品課程

線程池創(chuàng)建的四種 線程池創(chuàng)建的四種方式都是什么

發(fā)布: Java培訓(xùn) 發(fā)布時(shí)間:2021-10-12 18:01:48

推薦答案
品牌型號(hào):聯(lián)想小新Pro13/系統(tǒng)版本:windows10

通過Executors線程池創(chuàng)建的四種方法分別為:

newCachedThreadPool:創(chuàng)建一個(gè)可緩存線程池,如果線程池長度超過處理需要,可靈活回收空閑線程,若無可回收,則新建線程。

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

newScheduledThreadPool:創(chuàng)建一個(gè)定長線程池,支持定時(shí)及周期性任務(wù)執(zhí)行。

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

 
  1. public class ThreadPoolExecutor extends AbstractExecutorService{//第一個(gè)構(gòu)造方法public ThreadPoolExecutor(int corePoolSize, 
  2.                               int maximumPoolSize, 
  3.                               long keepAliveTime, 
  4.                               TimeUnit unit, 
  5.                               BlockingQueue<Runnable> workQueue) { 
  6.         this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, 
  7.              Executors.defaultThreadFactory(), defaultHandler); 
  8.     }//第二個(gè)構(gòu)造方法public ThreadPoolExecutor(int corePoolSize, 
  9.                               int maximumPoolSize, 
  10.                               long keepAliveTime, 
  11.                               TimeUnit unit, 
  12.                               BlockingQueue<Runnable> workQueue, 
  13.                               ThreadFactory threadFactory) { 
  14.         this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, 
  15.              threadFactory, defaultHandler); 
  16.     }//第三個(gè)構(gòu)造方法public ThreadPoolExecutor(int corePoolSize, 
  17.                               int maximumPoolSize, 
  18.                               long keepAliveTime, 
  19.                               TimeUnit unit, 
  20.                               BlockingQueue<Runnable> workQueue, 
  21.                               RejectedExecutionHandler handler) { 
  22.         this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, 
  23.              Executors.defaultThreadFactory(), handler); 
  24.     }//第四個(gè)也是真正的初始化構(gòu)造函數(shù)public ThreadPoolExecutor(int corePoolSize, 
  25.                               int maximumPoolSize, 
  26.                               long keepAliveTime, 
  27.                               TimeUnit unit, 
  28.                               BlockingQueue<Runnable> workQueue, 
  29.                               ThreadFactory threadFactory, 
  30.                               RejectedExecutionHandler handler) { 
  31.         if (corePoolSize < 0 || 
  32.             maximumPoolSize <= 0 || 
  33.             maximumPoolSize < corePoolSize || 
  34.             keepAliveTime < 0) 
  35.             throw new IllegalArgumentException(); 
  36.         if (workQueue == null || threadFactory == null || handler == null
  37.             throw new NullPointerException(); 
  38.         this.corePoolSize = corePoolSize; 
  39.         this.maximumPoolSize = maximumPoolSize; 
  40.         this.workQueue = workQueue; 
  41.         this.keepAliveTime = unit.toNanos(keepAliveTime); 
  42.         this.threadFactory = threadFactory; 
  43.         this.handler = handler; 
  44.     }} 

其它答案
牛仔很忙2020-06-22 18:56:36

newCachedThreadPool創(chuàng)建可緩存線程池、newFixedThreadPool創(chuàng)建定長線程池、newScheduledThreadPool創(chuàng)建定長線程池、newSingleThreadExecutor創(chuàng)建單線程化線程池


上一篇:迭代的意思

下一篇:hdfs命令

中公旗下IT培訓(xùn)品牌

  • 中公教育品牌

     中公教育是一家中國領(lǐng)先的全品類職業(yè)教育機(jī)構(gòu),提供超過100個(gè)品類的綜合職業(yè)就業(yè)培訓(xùn)服務(wù)。公司在全國超過1000個(gè)直營網(wǎng)點(diǎn)展開經(jīng)營,深度覆蓋300多個(gè)地級(jí)市,并正在快速向數(shù)千個(gè)縣城和高校擴(kuò)張。

  • 完善就業(yè)體系

    通過階段性授課機(jī)制,和每階段的定期考核,先讓學(xué)員能夠?qū)W會(huì)所學(xué)內(nèi)容,才能找打合適工作。最后一個(gè)階段為就業(yè)課程,從技術(shù)和面試兩個(gè)方面加深就業(yè)能力,并且還有不定期的雙選會(huì)供大家選擇。

  • 全程面授+實(shí)戰(zhàn)技術(shù)

    線下課程全程是師資面對(duì)面教學(xué),不會(huì)存在上課只對(duì)著大屏幕上課的情況,有問題都可以在課上得到解答。并且優(yōu)就業(yè)通過自主研發(fā)大綱和學(xué)習(xí)路線,并且定期更新課程所學(xué)技術(shù),讓大家所學(xué)技術(shù)不落伍。

中公優(yōu)就業(yè)專業(yè)職業(yè)規(guī)劃老師

為您詳細(xì)答疑解惑,更能領(lǐng)取免費(fèi)課程

相關(guān)問題

更多課程

專業(yè)課程老師將第一時(shí)間為您解答

立即答疑
修改
優(yōu)就業(yè):ujiuye

關(guān)注中公優(yōu)就業(yè)官方微信

  • 關(guān)注微信回復(fù)關(guān)鍵詞“大禮包”,領(lǐng)80G學(xué)習(xí)資料