О java.util.concurrent.ScheduledExecutorService.scheduleAtFixedRate: как часто он выполняет задачу? - PullRequest
0 голосов
/ 26 мая 2019

Я смотрел на javadoc из -> java.util.concurrent.ScheduledExecutorService.scheduleAtFixedRate

Я перепродал ниже javadoc:

ScheduledFuture<?> java.util.concurrent.ScheduledExecutorService.scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)

Создает и выполняет периодическое действие, которое становится активным первым послезаданная начальная задержка и впоследствии с заданным периодом;то есть выполнение начнется после initialDelay, затем initialDelay + period, затем initialDelay + 2 * period и т. д. Если какое-либо выполнение задачи встречает исключение, последующие выполнения подавляются.В противном случае задание будет прекращено только путем отмены или прекращения исполнителя.Если какое-либо выполнение этой задачи занимает больше времени, чем ее период, то последующие выполнения могут начаться с опозданием, но не будут выполняться одновременно.

Parameters:
command the task to execute

initialDelay the time to delay first execution

period the period between successive executions

unit the time unit of the initialDelay and period parameters
Returns:
a ScheduledFuture representing pending completion of the task, and whose get() method will throw an exception upon cancellation

Я понял, что в первый раз она будет включена после initialDelay, а затем повторенапосле period.Однако, глядя на выделенный раздел выше, кажется, что частота увеличивается между последовательными выполнениями.

Это правильное поведение?Если так, то задержка увеличится с предыдущих казней?

Кто-нибудь может помочь прояснить?

...