6
我有我喂一个Runnable与scheduledFixedDelay这样我可以强制执行额外的预定执行吗?
Runnable periodic = new Runnable() { ... }
ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleWithFixedDelay(periodic, 1, 1, TimeUnit.MINUTES);
它将与执行之间的延迟1分钟运行singleThreadExecutor。问题是,有时我需要按需“运行”。那可能吗?
我想过取消执行,运行Runnable并重新启动执行,但我真正喜欢的是一些简单的方法,它只是执行Runnable时间的头,并重新安排它在一分钟内重新运行。
增加,但如果执行者已经有这个了Runnable要么执行或计划,然后会发生什么? –
它会运行两次,你问它运行。 –
虽然不完全是我想要的,我已经批准了这个答案。我真的很喜欢它现在执行*计划*执行,而不是计划它的时间,但它也可以像我使用singleThreadScheduledExecutor一样添加定期作为新的一次性工作。 –