使用ScheduledExecutorService和一个实现了Runnable接口的类来生成了一个定时任务,比如该任务5分钟后执行。现在想要延迟这个定时任务的执行,比如5分钟后不想这个定时任务执行了,想要再推迟3分钟执行,请问具体应该如何实现?
使用ScheduledExecutorService和一个实现了Runnable接口的类来生成了一个定时任务,比如该任务5分钟后执行。现在想要延迟这个定时任务的执行,比如5分钟后不想这个定时任务执行了,想要再推迟3分钟执行,请问具体应该如何实现?
以JavaScript为例:
function doTask() {
...
}
setTimeout(function() {
if (canDoTask) {
doTask();
} else {
setTimeout(doTask, 180000);
}
}, 300000);
8 回答6.4k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
ScheduledExecutorService在使用schedule提交定时任务时会返回一个ScheduledFuture<?>,可以调用它的cancel方法。
代码如下。