gpt4 book ai didi

Java-如何正确停止 ScheduledExecutorService

转载 作者:行者123 更新时间:2023-11-30 06:52:04 26 4
gpt4 key购买 nike

假设在实时情况下,下面的代码使用 ScheduledExecutorService 每分钟运行一次。

该作业由startBatch.sh文件触发。

public class TestScheduledExecutorService {
public static void main (String a[]) {
ScheduledExecutorService service = null;
try {
TestObject runnableBatch = new TestObject() {
int i = 0;
@Override
public void run() {
testMethod (++i);
}
};
service = Executors.newSingleThreadScheduledExecutor();
service.scheduleAtFixedRate(runnableBatch, 0, 20, TimeUnit.SECONDS);
} catch (Exception e) {
e.printStackTrace();
}
}
}

如果存在任何问题,如何在运行后正确停止此守护进程?!

最佳答案

您必须考虑添加一个可以“以某种方式”调用的方法来告诉服务停止。例如,您的“服务”可能正在监听某个端口并从那里接收命令。

是的,这是相当广泛的,但你的输入问题也是如此。

鉴于您的评论:监听命令只是这里的一个选项。这实际上取决于您的要求。它不需要是一个端口 - 例如,您可以使用文件观察器服务并简单地检查在目录中创建的文件。您需要的是:用户可以用来与您的服务器通信的 channel 。该 channel 是什么样子的;由你决定。

这就是创建服务时的要点:您必须明确您的需求,然后设计满足这些需求的解决方案。

关于Java-如何正确停止 ScheduledExecutorService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42552742/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com