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

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

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

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

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

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

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

代碼很簡單:

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ù)并控制線程啟動速度的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

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

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

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

    數(shù)據(jù)庫表中應(yīng)該都要有create_time、update_time字段;那么在開發(fā)中,對于這些共有字段的處理應(yīng)該要進(jìn)行統(tǒng)一,這樣就可以簡化我們的開發(fā)過程。那么本文就對Mybatis-Plus中的字段自動填充進(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)用中,都涉及到各種與文件存儲相關(guān)的業(yè)務(wù),隨著技術(shù)的發(fā)展,關(guān)于如何解決分布式文件存儲也有了比較成熟的方案,比如私有云部署下可以考慮fastdfs,阿里云對象存儲oss,七牛云等,本篇將為你介紹另一種文件存儲方式,即MinIO,需要的朋友可以參考下
    2023-12-12
  • Java多線程之多線程異常捕捉

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

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

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

    對于微服務(wù)的治理而言,其核心就是服務(wù)的注冊和發(fā)現(xiàn)。在SpringCloud 中提供了多種服務(wù)注冊與發(fā)現(xiàn)組件,官方推薦使用Eureka。本篇文章,我們來講解springcloud的服務(wù)注冊和發(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à)值,需要的朋友可以參考下
    2020-02-02
  • Java 1.0和Java 1.1 的IO類的比較

    Java 1.0和Java 1.1 的IO類的比較

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

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

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

最新評論