杀死服务时关闭ScheduledExecutorService

时间:2015-12-07 10:47:27

标签: java linux multithreading threadpool

我已将ScheduledExecutorService用于我的jar文件,并且我将其作为linux机器中的服务执行。我通过nohup命令声明服务并使用kill命令将其终止。但我听说ScheduledExecutorService在完成使用时应该关闭。如果没有,它将保持JVM运行,即使所有其他线程都已关闭。

  1. 当我杀死服务时,ScheduledExecutorService线程会发生什么?
  2. 如果ScheduledExecutorService线程在终止服务时未关闭,我如何关闭它?

1 个答案:

答案 0 :(得分:0)

如果你从外部杀死整个进程,那么它会在进程内运行时同时终止ScheduledExecutorService

不推荐这样做,因为它会在你正在进行的任何处理过程中终止你的程序。例如,您可能有部分写入的文件。