gpt4 book ai didi

java - 如何在关机前最后一次运行任务

转载 作者:行者123 更新时间:2023-11-30 03:30:54 27 4
gpt4 key购买 nike

我有一个像这样的ScheduledExecutorService:

ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleAtFixedRate(command, 0L, rate, TimeUnit.MILLISECONDS);

在某些时候,我需要将其关闭。但在此之前,我需要确保命令最后一次运行。类似的东西

public void shutdown() {
executor.waitOneMoreTime();
executor.shutdown();
}

我怎样才能做到这一点?如果我这样做

public void shutdown() {
executor.shutdown();
executor.awaitTermination(rate, TimeUnit.MILLISECONDS);
}

我的理解是,调度的命令将不能保证在executor.shutdown()之后再次运行。是这样吗?

最佳答案

尝试这样:

public void shutdown() {
try {
executor.awaitTermination (rate, TimeUnit.MILLISECONDS);
executor.shutdown();
} catch(InterruptedException e) {
// log your error
}
}

关于java - 如何在关机前最后一次运行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29077707/

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