我有一个长时间运行的进程,监听事件并进行一些密集处理。
目前我使用Executors.newFixedThreadPool(x)
来限制同时运行的作业数量,但根据一天中的时间和其他各种因素,我希望能够动态增加或减少并发线程的数量。
如果我减少并发线程的数量,我希望当前正在运行的作业能够顺利完成。
是否有Java库可以让我控制并动态增加或减少线程池中运行的并发线程的数量?(该类必须实现ExecutorService)
我是否需要自己实现它?
我有一个长时间运行的进程,监听事件并进行一些密集处理。
目前我使用Executors.newFixedThreadPool(x)
来限制同时运行的作业数量,但根据一天中的时间和其他各种因素,我希望能够动态增加或减少并发线程的数量。
如果我减少并发线程的数量,我希望当前正在运行的作业能够顺利完成。
是否有Java库可以让我控制并动态增加或减少线程池中运行的并发线程的数量?(该类必须实现ExecutorService)
我是否需要自己实现它?
public void setCorePoolSize(int corePoolSize)
ExecutorService service = Executors.newFixedThreadPool(5);
((ThreadPoolExecutor)service).setCorePoolSize(newLimit);//newLimit is new size of the pool