详解:
public ScheduledFuture scheduleAtFixedRate(Runnable command,
long initialDelay,
long period,
TimeUnit unit);
注意:period是按任务开始的时间计算的:
1 如果任务执行耗时5S,间隔3S,则任务执行完之后立即开启下一次执行
2 如果任务执行耗时5S,间隔10S,则第一个任务结束后再过5S执行第二个任务,加上第一个任务执行时间共10S
public ScheduledFuture scheduleWithFixedDelay(Runnable command,
long initialDelay,
long delay,
TimeUnit unit);
注意:period是按任务结束的时间计算的:
1 如果任务执行耗时5S,间隔3S,则任务执行完之后再过3S立即开启下一次执行
2 如果任务执行耗时5S,间隔10S,则第一个任务结束后再过10S执行第二个任务
网友评论