亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java線程池:獲取運(yùn)行線程數(shù)并控制線程啟動(dòng)速度的方法

 更新時(shí)間:2017年05月27日 08:57:21   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇java線程池:獲取運(yùn)行線程數(shù)并控制線程啟動(dòng)速度的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

在java里, 我們可以使用Executors.newFixedThreadPool 來(lái)創(chuàng)建線程池, 然后就可以不停的創(chuàng)建新任務(wù),并用線程池來(lái)執(zhí)行了。

在提交任務(wù)時(shí),如果線程池已經(jīng)被占滿,任務(wù)會(huì)進(jìn)到一個(gè)隊(duì)列里等待執(zhí)行。

這種機(jī)制在一些特定情況下會(huì)有些問(wèn)題。今天我就遇到一種情況:創(chuàng)建線程比線程執(zhí)行的速度要快的多,而且單個(gè)線程占用的內(nèi)存又多,所以很快內(nèi)存就爆了。

想了一個(gè)辦法,就是在提交任務(wù)之前,先檢查目前正在執(zhí)行的線程數(shù)目,只有沒把線程池占滿的時(shí)候在去提交任務(wù)。

代碼很簡(jiǎn)單:

int threadCount = ((ThreadPoolExecutor)executor).getActiveCount();
//              System.out.println("running : " + threadCount);
              while (threadCount == POOL_SIZE) {
                TimeUnit.MILLISECONDS.sleep(1);
                threadCount = ((ThreadPoolExecutor)executor).getActiveCount();
//                System.out.println("running : " + threadCount);
              }

              executor.execute

以上這篇java線程池:獲取運(yùn)行線程數(shù)并控制線程啟動(dòng)速度的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • idea新建springboot項(xiàng)目pom文件報(bào)錯(cuò)問(wèn)題及解決

    idea新建springboot項(xiàng)目pom文件報(bào)錯(cuò)問(wèn)題及解決

    這篇文章主要介紹了idea新建springboot項(xiàng)目pom文件報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • IDEA 阿里JAVA規(guī)范插件的具體使用

    IDEA 阿里JAVA規(guī)范插件的具體使用

    這篇文章主要介紹了IDEA 阿里JAVA規(guī)范插件的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Mybatis-Plus自動(dòng)填充更新操作相關(guān)字段的實(shí)現(xiàn)

    Mybatis-Plus自動(dòng)填充更新操作相關(guān)字段的實(shí)現(xiàn)

    數(shù)據(jù)庫(kù)表中應(yīng)該都要有create_time、update_time字段;那么在開發(fā)中,對(duì)于這些共有字段的處理應(yīng)該要進(jìn)行統(tǒng)一,這樣就可以簡(jiǎn)化我們的開發(fā)過(guò)程。那么本文就對(duì)Mybatis-Plus中的字段自動(dòng)填充進(jìn)行記錄
    2021-11-11
  • Spring?EnableAsync注解異步執(zhí)行源碼解析

    Spring?EnableAsync注解異步執(zhí)行源碼解析

    這篇文章主要為大家介紹了Spring?EnableAsync注解源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • springboot整合minio的超詳細(xì)教程

    springboot整合minio的超詳細(xì)教程

    在很多互聯(lián)網(wǎng)產(chǎn)品應(yīng)用中,都涉及到各種與文件存儲(chǔ)相關(guān)的業(yè)務(wù),隨著技術(shù)的發(fā)展,關(guān)于如何解決分布式文件存儲(chǔ)也有了比較成熟的方案,比如私有云部署下可以考慮fastdfs,阿里云對(duì)象存儲(chǔ)oss,七牛云等,本篇將為你介紹另一種文件存儲(chǔ)方式,即MinIO,需要的朋友可以參考下
    2023-12-12
  • Java多線程之多線程異常捕捉

    Java多線程之多線程異常捕捉

    在java多線程程序中,所有線程都不允許拋出未捕獲的checked exception,也就是說(shuō)各個(gè)線程需要自己把自己的checked exception處理掉,通過(guò)此篇文章給大家分享Java多線程之多線程異常捕捉,需要的朋友可以參考下
    2015-08-08
  • SpringCloud服務(wù)注冊(cè)和發(fā)現(xiàn)組件Eureka

    SpringCloud服務(wù)注冊(cè)和發(fā)現(xiàn)組件Eureka

    對(duì)于微服務(wù)的治理而言,其核心就是服務(wù)的注冊(cè)和發(fā)現(xiàn)。在SpringCloud 中提供了多種服務(wù)注冊(cè)與發(fā)現(xiàn)組件,官方推薦使用Eureka。本篇文章,我們來(lái)講解springcloud的服務(wù)注冊(cè)和發(fā)現(xiàn)組件,感興趣的可以了解一下
    2021-05-05
  • Java實(shí)現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的實(shí)例代碼

    Java實(shí)現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的實(shí)例代碼

    本文主要介紹了Java實(shí)現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Java 1.0和Java 1.1 的IO類的比較

    Java 1.0和Java 1.1 的IO類的比較

    Java庫(kù)的IO分為輸入/輸出兩部分。早期的Java 1.0版本的輸入系統(tǒng)是InputStream及其子類,輸出系統(tǒng)是OutputStream及其子類。后來(lái)的Java 1.1版本對(duì)IO系統(tǒng)進(jìn)行了重新設(shè)計(jì)。本分對(duì)此做了分析和比較,有利于學(xué)習(xí),最后給出了例子。
    2013-11-11
  • Java實(shí)現(xiàn)高并發(fā)秒殺的幾種方式

    Java實(shí)現(xiàn)高并發(fā)秒殺的幾種方式

    高并發(fā)場(chǎng)景在現(xiàn)場(chǎng)的日常工作中很常見,本文主要介紹了Java實(shí)現(xiàn)高并發(fā)秒殺的幾種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評(píng)論