我想记录newCachedThreadPool调用创建的活动线程数。我似乎无法找到从哪里获得这个价值。
答案 0 :(得分:3)
您可以将ThreadFactory
传递给newCachedThreadPool
让它在创建新线程时实现一些日志记录,因为newCachedThreadPool重用了你不必担心线程结束的线程。
OR
将执行程序转换为ThreadPoolExecutor
并调用其getPoolSize()
方法
答案 1 :(得分:0)
我不确定您是否对存在的线程的数量感兴趣,或者您是否对活动的任务的数量感兴趣。如果您对这些任务感兴趣,那么您可以为已添加的每个任务存储Future
。当您想知道有多少任务处于活动状态时,您只需计算回复Future
到false
的{{1}}个对象的数量。明显可以删除回复isDone
的那些。