Java Scheduled Executor: гарантирует, что не будет работать параллельно, если задача еще не завершена

StackOverflow https://stackoverflow.com/questions/1632371

  •  06-07-2019
  •  | 
  •  

Вопрос

кто-нибудь знает, если следующий 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.

Большое спасибо Ян

Это было полезно?

Решение

Из документы :

  

Если какое-либо выполнение этой задачи занимает   дольше, чем его период, то   последующие казни могут начаться поздно,   но не будет одновременно выполняться.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top