为什么主线程没有关闭方法



当我像在public static void main方法中那样运行主线程时,该线程在方法完成时终止。我没有做任何明确的事情来关闭线程。为什么在ExecutorService的情况下。我们有一个shutdown()方法?为什么我们不能让ExecutorService管理的线程运行到完成?

关闭方法的调用只意味着执行器不会接受任何新任务。您可以给提交给执行器的正在运行的任务(运行到完成)一个超时。

executor.shutdown();
try {
    //blocks until all tasks have finished or timeout occurs
    executor.awaitTermination(TimeUnit.MICROSECONDS , Long.MAX_VALUE);
} catch (InterruptedException e) {
  //Take some action at least Thread.currentThread().interrupt();
}

相关内容

  • 没有找到相关文章

最新更新