java线程池ExecutorService,里面有多少空余线程,怎么看
3个回答
展开全部
ExecutorService是个接口,如果你是用Executors静态方法生产的实例,见具体实现。
比如:
public static ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory) {
return new ThreadPoolExecutor(nThreads, nThreads,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(),
threadFactory);
}
那它是ThreadPoolExecutor的实例,你可以看它的方法,如getActiveCount(),getPoolSize()等。
比如:
public static ExecutorService newFixedThreadPool(int nThreads, ThreadFactory threadFactory) {
return new ThreadPoolExecutor(nThreads, nThreads,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(),
threadFactory);
}
那它是ThreadPoolExecutor的实例,你可以看它的方法,如getActiveCount(),getPoolSize()等。
展开全部
找了半天我没找到答案,ExecutorService是接口,ThreadPoolExecutor继承AbstractExecutorService实现了ExecutorService,是真正的线程池,然而ThreadPoolExecutor里也并没有提供查看空余线程的方法,思考了下应该是这样,getPoolSize-getActiveCount,即当前池子大小减去正在活动的线程数量为当前空余线程。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ThreadPoolExecutor pool = (ThreadPoolExecutor) Executors.newFixedThreadPool(100);//创建线程池,这种线程池固定了线程数量
pool.getActiveCount();//获取活动的线程数量
100-活动数量就是空闲数量
pool.getActiveCount();//获取活动的线程数量
100-活动数量就是空闲数量
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询