gpt4 book ai didi

java - 延迟一段时间后执行任务,如果遇到无限循环则停止它

转载 作者:行者123 更新时间:2023-12-01 17:46:07 26 4
gpt4 key购买 nike

我想执行一个具有初始延迟的任务,并且能够在它陷入无限循环时停止它。

我检查了TimerTask ,但这会在计时器任务完成后取消它。我希望正在运行的任务在完成之前停止。

最佳答案

java.util.concurrent.ScheduledFuture 可以帮助你但更好地使用无限循环(如果可以的话)使用 while(!Thread.currentThread().isInterrupted())。这可以帮助您停止任务。

示例:

 final ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
final ScheduledFuture<?> schedule = scheduledExecutorService.schedule(() -> {
while(!Thread.currentThread().isInterrupted()) {
System.out.println("Hello world");
}
}, 5, TimeUnit.SECONDS);
Thread.sleep(10000);
schedule.cancel(true);
System.out.println("Stopped");
Thread.sleep(3000);
scheduledExecutorService.shutdown();

关于java - 延迟一段时间后执行任务,如果遇到无限循环则停止它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60863981/

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