亚洲日本在线在线看片,欧美一级a免费在线观看,亚洲 另类 在线 欧美 制服,精品婷婷乱码久久久久久蜜桃

  • <small id="frgz1"></small>
      <legend id="frgz1"><strong id="frgz1"></strong></legend>
      <small id="frgz1"></small>
        全國(guó)統(tǒng)一咨詢電話 4006-303-880
        匯上優(yōu)課 昆明培訓(xùn) 昆明中公優(yōu)就業(yè)IT培訓(xùn)中心 學(xué)習(xí)資料 Java基礎(chǔ)知識(shí)——Java線程池

        Java基礎(chǔ)知識(shí)——Java線程池

        2025-07-05 00:58閱讀:569 分享


        導(dǎo)語(yǔ)



        Java基礎(chǔ)知識(shí)——Java線程池,隨著互聯(lián)網(wǎng)的發(fā)達(dá),越來(lái)越多人開始投身于計(jì)算機(jī)編程行業(yè),今天由杭州中公教育的小編為大家?guī)?lái)Java線程池的相關(guān)知識(shí),供大家參考




        Java線程池

        多線程是為了能夠讓計(jì)算機(jī)資源合理的分配,對(duì)于處理不同的任務(wù)創(chuàng)建不同的線程進(jìn)行處理,但是計(jì)算機(jī)創(chuàng)建一個(gè)線程或者銷毀一個(gè)線程所花費(fèi)的也是比較昂貴的,有時(shí)候需要同時(shí)處理的事情比較多,就需要我們頻繁的進(jìn)行線程的創(chuàng)建和銷毀,這樣花費(fèi)的時(shí)間也是比較多的。為了解決這一問(wèn)題,我們就可以引用線程池的概念。

        所謂線程池就是將線程集中管理起來(lái),當(dāng)需要線程的時(shí)候,可以從線程池中獲取空閑的線程,這樣可以減少線程的頻繁創(chuàng)建與銷毀,節(jié)省很大的時(shí)間和減少很多不必要的操作。

        在java中提供了ThreadPoolExecutor類來(lái)進(jìn)行線程的管理,這個(gè)類繼承于AbstractExecutorService,而AbstractExecutorService實(shí)現(xiàn)了ExecutorService接口,我們可以使用ThreadPoolExecutor來(lái)進(jìn)行線程池的創(chuàng)建。

        在ThreadPoolExecutor的構(gòu)造方法中,有多個(gè)參數(shù),可以配置不同的參數(shù)來(lái)進(jìn)行優(yōu)化。這個(gè)類的源碼構(gòu)造方法為:

        public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler)其中每個(gè)參數(shù)代表的意義分別為

        corePoolSize : 線程池中的核心線程數(shù)量,當(dāng)線程池中當(dāng)前的線程數(shù)小于這個(gè)配置的時(shí)候,如果有一個(gè)新的任務(wù)到來(lái),即使線程池中還存在空閑狀態(tài)的線程,程序也會(huì)繼續(xù)創(chuàng)建一個(gè)新的線程放進(jìn)線程池當(dāng)中

        maximumPoolSize: 線程池中的線程最大數(shù)量

        keepAliveTime:當(dāng)線程池中的線程數(shù)量大于配置的核心線程數(shù)量(corePoolSize)的時(shí)候,如果當(dāng)前有空閑的線程,則當(dāng)這個(gè)空閑線程可以存在的時(shí)間,如果在keepAliveTime這個(gè)時(shí)間點(diǎn)內(nèi)沒(méi)有新的任務(wù)使用這個(gè)線程,那么這個(gè)線程將會(huì)結(jié)束,核心線程不會(huì)結(jié)束,但是如果配置了allowCoreThreadTimeOut = true,則當(dāng)空閑時(shí)間超過(guò)keepAliveTime之后,線程也會(huì)被結(jié)束調(diào),默認(rèn)allowCoreThreadTimeOut = false,即表示默認(rèn)情況下,核心線程會(huì)一直存在于線程池當(dāng)中。

        unit : 空閑線程保持連接時(shí)間(keepAliveTime)的時(shí)間單位

        workQueue:阻塞的任務(wù)隊(duì)列,用來(lái)保存等待需要執(zhí)行的任務(wù)。

        threadFactory :線程工廠,可以根據(jù)自己的需求去創(chuàng)建線程的對(duì)象,設(shè)置線程的名稱,優(yōu)先級(jí)等屬性信息。

        handler:當(dāng)線程池中存在的線程數(shù)超過(guò)設(shè)置的最大值之后,新的任務(wù)就會(huì)被拒絕,可以自己定義一個(gè)拒絕的策略,當(dāng)新任務(wù)被拒絕之后,就會(huì)使用hander方法進(jìn)行處理。

        在java中也提供了Executors工具類,在這個(gè)工具類中提供了多個(gè)創(chuàng)建線程池的靜態(tài)方法,其中包含newCachedThreadPool、newFixedThreadPool、newScheduledThreadPool、newSingleThreadExecutor等。但是他們每個(gè)方法都是創(chuàng)建了ThreadPoolExecutor對(duì)象,不同的是,每個(gè)對(duì)象的初始 參數(shù)值不一樣;

        以上就是Java線程池的基礎(chǔ)知識(shí),如果如果你還想更詳細(xì)的了解Java相關(guān)內(nèi)容可以點(diǎn)擊主頁(yè)。

        以上就是昆明中公優(yōu)就業(yè)IT培訓(xùn)中心為您提供Java基礎(chǔ)知識(shí)——Java線程池的全部?jī)?nèi)容,更多內(nèi)容請(qǐng)進(jìn)入學(xué)習(xí)資料 查看

        溫馨提示: 提交留言后老師會(huì)第一時(shí)間與您聯(lián)系! 熱線電話:4006-303-880
        【學(xué)校】咨詢熱線: 4006-303-880
        以上信息知識(shí)產(chǎn)權(quán)歸具體機(jī)構(gòu)所有 | 招生合作 | 免責(zé)聲明 | 版權(quán)/投訴