如何控制ThreadPoolTask​​Executor中正在运行的线程数?

时间:2014-02-28 16:52:20

标签: java multithreading

我使用org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor来执行我的应用程序任务。我想限制某些数字的并行运行任务(线程)的数量,直到完成所有(或某些运行任务的一部分)线程不执行新线程。

我如何控制,或者如何获取信息,ThreadPoolExecutor实际运行多少线程来控制执行新任务?有没有办法如何通过ThreadPoolExecutor解决它或者我需要这样做我的方式注册新线程启动和取消注册线程完成后??

1 个答案:

答案 0 :(得分:1)

您可以使用getActiveCount()获取当前线程数,使用setCorePoolSize()来设置核心池大小。您应该在ThreadPoolTask​​Executor配置中设置池大小。但是我不认为在开始新线程之前等待所有线程都是你应该如何使用线程池。