java - 终止服务时关闭 ScheduledExecutorService

标签 java linux multithreading threadpool

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

  1. 当我终止服务时,我的 ScheduledExecutorService 线程会发生什么?
  2. 如果终止服务时 ScheduledExecutorService 线程没有关闭,我该如何关闭它?

最佳答案

如果您在外部终止整个进程,那么它将同时终止 ScheduledExecutorService,因为它在进程内部运行。

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

关于java - 终止服务时关闭 ScheduledExecutorService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34131725/

相关文章:

java - 无法找到命名参数

java - 具有另一个域的 Selenium cookie

Java TCP 流终止

java - 删除列表的最后一个元素在JAVA中不起作用

java - 如何诊断我们的 java IP 多播应用程序?

c++ - Linux 中 C++ 中的 UDP

linux - 如何以毫秒为单位获取ubuntu文件时间戳

c# - 预订剧院座位

c++ - Boost.Asio Win32 Windows 应用程序

java - Java中synchronized关键字的内存效应