6
我有我喂一個Runnable與scheduledFixedDelay這樣我可以強制執行額外的預定執行嗎?
Runnable periodic = new Runnable() { ... }
ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleWithFixedDelay(periodic, 1, 1, TimeUnit.MINUTES);
它將與執行之間的延遲1分鐘運行singleThreadExecutor。問題是,有時我需要按需「運行」。那可能嗎?
我想過取消執行,運行Runnable並重新啓動執行,但我真正喜歡的是一些簡單的方法,它只是執行Runnable時間的頭,並重新安排它在一分鐘內重新運行。
增加,但如果執行者已經有這個了Runnable要麼執行或計劃,然後會發生什麼? –
它會運行兩次,你問它運行。 –
雖然不完全是我想要的,我已經批准了這個答案。我真的很喜歡它現在執行*計劃*執行,而不是計劃它的時間,但它也可以像我使用singleThreadScheduledExecutor一樣添加定期作爲新的一次性工作。 –