我使用 org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor 来执行我的应用程序任务。我想限制并行运行任务(线程)的数量,直到所有(或运行任务的一定百分比)线程完成后才执行新线程。
我如何控制,或者如何获取信息,ThreadPoolExecutor实际运行了多少个线程来控制执行新任务?有什么方法可以通过 ThreadPoolExecutor 解决这个问题,还是我需要以我的方式注册新线程启动并在线程完成时取消注册...?
最佳答案
您可以使用getActiveCount()获取当前线程数和 setCorePoolSize()设置核心池大小。您应该在 ThreadPoolTaskExecutor 配置中设置池大小。不过,我不认为等到所有线程完成后再启动新线程才是使用线程池的方式。
关于java - 如何控制ThreadPoolTaskExecutor中正在运行的线程数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22101118/