7

このようなscheduledFixedDelayをRunnableにフィードしているsingleThreadExecutorがあります

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

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

実行の間に1分の遅延で実行されます。問題は、「オンデマンド」で実行する必要がある場合があることです。それは可能ですか?

実行をキャンセルし、Runnableを実行して実行を再開することを考えましたが、本当に必要なのは、Runnableを事前に実行し、1分後に再度実行するように再スケジュールする簡単なメソッドです。

4

1 に答える 1

4

タスクを実行したい場合は、タスクを送信できます

executor.submit(periodic);

または遅延して追加します

executor.schedule(periodic, delay, units);
于 2012-10-17T13:34:36.997 に答える