【发布时间】:2012-03-28 09:49:23
【问题描述】:
我正在检查 ExecutorService#shutDown() 方法的javadoc,它指出:
启动有序关闭,其中之前提交的任务被执行,但不会接受新任务。如果已经关闭,则调用不会产生额外的影响。
我将“被执行”理解为:它会等到之前提交的任务完成执行。但它也指出:
此方法不等待先前提交的任务完成执行。使用 awaitTermination 来做到这一点。
好像是说取消了已经提交的任务。
有人能澄清一下调用shutdown时会发生什么并且一些以前提交的任务还没有完成执行吗?
编辑
我使用执行器来启动一些任务,但之后我不再需要执行器,所以我想让它知道它可以在任务完成时释放线程。
【问题讨论】:
标签: java multithreading