欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java 線程池的實現(xiàn)方法

 更新時間:2020年02月07日 08:35:54   作者:V  
在本篇文章里小編給大家整理了關(guān)于java 線程池的實現(xiàn)方法,有興趣的朋友們可以學習參考下。

線程池有以下幾種實現(xiàn)方式:

Executors目前提供了5種不同的線程池創(chuàng)建配置:

1、newCachedThreadPool()

它是用來處理大量短時間工作任務的線程池,具有幾個鮮明特點:它會試圖緩存線程并重用,當無緩存線程可用時,就會創(chuàng)建新的工作線程;如果線程閑置時間超過60秒,則被終止并移除緩存;長時間閑置時,這種線程池,不會消耗什么資源。其內(nèi)部使用SynchronousQueue作為工作隊列。

2、newFixedThreadPool(int nThreads)

重用指定數(shù)目(nThreads)的線程,其背后使用的是無界的工作隊列,任何時候最多有nThreads個工作線程是活動的。這意味著,如果任務數(shù)量超過了活動線程數(shù)目,將在工作隊列中等待空閑線程出現(xiàn);如果工作線程退出,將會有新的工作線程被創(chuàng)建,以補足指定數(shù)目nThreads。

3、newSingleThreadExecutor()

它的特點在于工作線程數(shù)目限制為1,操作一個無界的工作隊列,所以它保證了所有的任務都是被順序執(zhí)行,最多會有一個任務處于活動狀態(tài),并且不予許使用者改動線程池實例,因此可以避免改變線程數(shù)目。

4、newSingleThreadScheduledExecutor()和newScheduledThreadPool(int corePoolSize)

創(chuàng)建的是個ScheduledExecutorService,可以進行定時或周期性的工作調(diào)度,區(qū)別在于單一工作線程還是多個工作線程。

5、newWorkStealingPool(int parallelism)

這是一個經(jīng)常被人忽略的線程池,Java 8 才加入這個創(chuàng)建方法,其內(nèi)部會構(gòu)建ForkJoinPool,利用Work-Stealing算法,并行地處理任務,不保證處理順序。

內(nèi)容擴展:

java通過Executors工廠類提供我們的線程池一共有4種:

fixedThreadPool() //啟動固定線程數(shù)的線程池

CachedThreadPool() //按需分配的線程池

ScheduledThreadPoolExecutor()//定時,定期執(zhí)行任務的線程池

ThreadPoolExecutor()//指定線程數(shù)的線程池。

以上就是本次介紹的全部相關(guān)知識點,感謝大家的學習和對腳本之家的支持。

相關(guān)文章

  • SpringBoot集成WebSocket的兩種方式(JDK內(nèi)置版和Spring封裝版)

    SpringBoot集成WebSocket的兩種方式(JDK內(nèi)置版和Spring封裝版)

    這篇文章主要介紹了SpringBoot集成WebSocket的兩種方式,這兩種方式為JDK內(nèi)置版和Spring封裝版,本文結(jié)合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • Spring Boot中使用RSocket的示例代碼

    Spring Boot中使用RSocket的示例代碼

    這篇文章主要介紹了Spring Boot中使用RSocket的示例代碼,特別是spring boot 如何幫助抽象出更低級別的RSocket API,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Java多線程實現(xiàn)方塊賽跑小游戲

    Java多線程實現(xiàn)方塊賽跑小游戲

    這篇文章主要為大家詳細介紹了Java多線程實現(xiàn)方塊賽跑小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Java簡單計時的實現(xiàn)案例(可以用來限時循環(huán))

    Java簡單計時的實現(xiàn)案例(可以用來限時循環(huán))

    這篇文章主要介紹了Java簡單計時的實現(xiàn)案例(可以用來限時循環(huán)),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • SpringBoot擴展外部化配置的原理解析

    SpringBoot擴展外部化配置的原理解析

    這篇文章主要介紹了SpringBoot擴展外部化配置的原理解析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 淺析spring定時器的使用

    淺析spring定時器的使用

    這篇文章主要介紹了淺析spring定時器的使用,幫助大家更好的理解和學習spring框架,感興趣的朋友可以了解下
    2020-10-10
  • java實現(xiàn)客房管理系統(tǒng)

    java實現(xiàn)客房管理系統(tǒng)

    這篇文章主要為大家詳細介紹了java實現(xiàn)客房管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Java判斷當前日期是周幾的方法匯總

    Java判斷當前日期是周幾的方法匯總

    在Java編程中,我們經(jīng)常會遇到需要獲取當前日期是周幾的需求。根據(jù)國際慣例,一周通常是從周一開始,到周日結(jié)束,記作1至7,本文將介紹幾種常用的Java方法,讓你能夠準確地判斷當前日期是周幾,感興趣的朋友一起看看吧
    2024-03-03
  • Idea熱加載插件JRebel激活以及使用教程

    Idea熱加載插件JRebel激活以及使用教程

    JRebel是一款JVM插件,它使得Java代碼修改后不用重啟系統(tǒng),立即生效,下面這篇文章主要給大家介紹了關(guān)于Idea熱加載插件JRebel激活以及使用的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • SpringBoot緩存方法返回值的方法詳解

    SpringBoot緩存方法返回值的方法詳解

    如何緩存方法的返回值?應該會有很多的辦法,這篇文章主要為大家介紹兩個比較常見并且比較容易實現(xiàn)的辦法:自定義注解和SpringCache,希望對大家有所幫助
    2023-10-10

最新評論