Java Scheduled Executor: гарантирует, что не будет работать параллельно, если задача еще не завершена
Вопрос
кто-нибудь знает, если следующий java-метод в пакете java.util.concurrent ScheduledExecutorService.html # scheduleAtFixedRate ()
абсолютно гарантирует, что запланированный Runnable никогда не будет работать параллельно в случае, если runnable из " last " пробег еще не закончен:
Например (псевдокод)
1.00 o'clock: scheduleAtFixedRate(MyRunnable, "Run ever Hour")`
//1.30 o'clock: MyRunnable Has finished (everthing is fine)
2.00 o'clock: MyRunnable is triggered to run again
3.00 o'clock: MyRunnable has NOT yet finished ==> What will happen here?
Will java Simply SKIP the starting of MyRunnable (as the old instance has not yet
finished) and try again at 4 o'clock or will Java start a NEW MyRunnable that then will
run in parallel to the "old" MyRunnable.
Большое спасибо Ян
Решение
Из документы :
Если какое-либо выполнение этой задачи занимает дольше, чем его период, то последующие казни могут начаться поздно, но не будет одновременно выполняться.
Не связан с StackOverflow