400-650-7353

精品課程

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

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

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

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

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

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

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

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

 
  1. public class ThreadPoolExecutor extends AbstractExecutorService{//第一個構(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ò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ò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ò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è)教育機構(gòu),提供超過100個品類的綜合職業(yè)就業(yè)培訓(xùn)服務(wù)。公司在全國超過1000個直營網(wǎng)點展開經(jīng)營,深度覆蓋300多個地級市,并正在快速向數(shù)千個縣城和高校擴張。

  • 完善就業(yè)體系

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

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

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

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

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

相關(guān)問題

更多課程

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

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

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

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