Java ExecutorService: await所有递归创建的任务的终结
我使用 来执行任务。此任务可以递归方式创建提交到同一任务的其他任务,这些子任务也可以执行此操作。ExecutorService
ExecutorService
我现在有一个问题,我想等到所有任务都完成(即,所有任务都已完成,他们没有提交新任务)之后再继续。
我无法在主线程中调用,因为这会阻止新任务被.ExecutorService.shutdown()
ExecutorService
如果没有被召唤,召唤似乎无济于事。ExecutorService.awaitTermination()
shutdown
所以我有点被困在这里。看到所有工人都闲置并不难,不是吗?我能想到的唯一不优雅的解决方案是直接使用 a 并每隔一段时间查询一次。真的没有更好的方法来做到这一点吗?ExecutorService
ThreadPoolExecutor
getPoolSize()