我可以强制执行额外的计划执行吗?

时间:2012-10-17 13:30:43

标签: java concurrency scheduledexecutorservice

我有一个singleThreadExecutor,我正在使用这样的scheduledFixedDelay来运行Runnable

Runnable periodic = new Runnable() { ... }

ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleWithFixedDelay(periodic, 1, 1, TimeUnit.MINUTES);

它将在执行之间延迟1分钟运行。问题是,有时我需要“按需”运行它。这可能吗?

我已经考虑过取消执行,运行Runnable并重新启动执行但我真正想要的是一些简单的方法,它只是在一段时间内执行Runnable并重新安排它在一分钟内再次运行。 / p>

1 个答案:

答案 0 :(得分:4)

当您希望任务运行时,您可以提交

executor.submit(periodic);

或添加延迟

executor.schedule(periodic, delay, units);
相关问题