java线程池ExecutorService,里面有多少空余线程,怎么看

jack_jones 发布于 2013/09/09 08:53
阅读 5K+
收藏 0
java线程池ExecutorService 
里面有多少被使用中的线程? 
多少空闲线程? 
查看是否有空闲线程? 

怎么实现?
加载中
0
逝水fox
逝水fox

纠正一个概念,ExecutorService不是线程池,只是一个提交任务去执行的服务而已,你大可实现为每个任务创建一个新进程来做。

查看线程池的相关状态,首先确认你当前拿到的ExecutorService是实现了java.util.concurrent.ThreadPoolExecutor接口,他有一系列返回线程池状态的方法

0
铂金小虫
铂金小虫

你可以另外创建一个全局单例的对象,用来保存每个线程的获取状态<Long threadId,Boolean using> map。再从线程池里获取或者回收时,去更新这个map。当然这样代码侵入性太高。
真的要透明的话,只能自己仿照线程池的实现去重写了。

返回顶部
顶部