2010-04-17 33 views

回答

3

您可以通过一个ThreadFactorynewCachedThreadPool 让创建一个新的线程时,因为newCachedThreadPool重用你不必担心线程结束线程它实现了一些记录。

OR

演员执行人为ThreadPoolExecutor,并调用其getPoolSize()方法

+0

缓存的线程池将结束最近未使用的线程。因此,自定义的'ThreadFactory'只能跟踪创建了多少个线程,而不是有多少个活动。 – 2010-04-17 08:27:53

+1

请注意,在所有Java实现中,由'newCachedThreadPool'返回的'ExectuorService'不保证被'ThreadPoolExecutor'保证。据说,这可能是你愿意承担的风险。 – 2010-04-17 08:45:08

0

我不知道你是否有兴趣的存在,或者你是否有兴趣在数量线程数量任务有效。如果您对任务感兴趣,则可以为已添加的每项任务存储Future。当您想知道有多少任务处于活动状态时,可以简单计数Future对象的数量,该对象响应falseisDone。那个回应true的那个显然可以在那个时候被删除。

相关问题