【发布时间】:2012-05-07 22:32:42
【问题描述】:
我使用java.util.concurrent.ExecutorService 和fixed thread pool 来执行任务列表。我的任务列表通常在 80 到 150 个左右,并且我将随时运行的线程数限制为 10,如下所示:
ExecutorService threadPoolService = Executors.newFixedThreadPool(10);
for ( Runnable task : myTasks )
{
threadPoolService.submit(task);
}
我的用例要求即使已完成的任务也应再次重新提交给 ExecutorService,但只有在所有已经提交的任务时才应再次执行/接受服务/完成。也就是说,基本上,提交的任务应该轮流执行。因此,在这种情况下不会有threadPoolService.shutdown() 或threadPoolService.shutdownNow() 调用。
我的问题是,如何实现 ExecutorService 服务于轮换任务?
【问题讨论】:
标签: java multithreading threadpool