在java项目中使用线程池如何实现获取运行线程数并控制线程启动速度

这期内容当中小编将会给大家带来有关在java项目中使用线程池如何实现获取运行线程数并控制线程启动速度,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

成都创新互联是一家专注于成都网站制作、成都做网站、外贸营销网站建设与策划设计,胶州网站建设哪家好?成都创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:胶州等地区。胶州做网站价格咨询:028-86922220

在java里, 我们可以使用Executors.newFixedThreadPool 来创建线程池, 然后就可以不停的创建新任务,并用线程池来执行了。

在提交任务时,如果线程池已经被占满,任务会进到一个队列里等待执行。

这种机制在一些特定情况下会有些问题。今天我就遇到一种情况:创建线程比线程执行的速度要快的多,而且单个线程占用的内存又多,所以很快内存就爆了。

想了一个办法,就是在提交任务之前,先检查目前正在执行的线程数目,只有没把线程池占满的时候在去提交任务。

代码很简单:

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项目中使用线程池如何实现获取运行线程数并控制线程启动速度了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


文章标题:在java项目中使用线程池如何实现获取运行线程数并控制线程启动速度
网页地址:http://bzwzjz.com/article/pjgdcp.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 手机网站制作 成都网站制作 成都网站建设 成都网站建设 企业手机网站建设 营销网站建设 成都网站设计公司 网站建设推广 外贸营销网站建设 重庆网站建设 成都网站建设公司 温江网站设计 企业网站建设公司 网站设计 成都网站建设 成都网站设计 H5网站制作 手机网站建设套餐 重庆电商网站建设 成都网站建设流程 商城网站建设 成都网站建设