ScheduledFuture<?> java.util.concurrent.ScheduledExecutorService.schedule(Runnable command, long delay, TimeUnit unit)
系统启动后,延迟{delay}{unit}时间执行{command},仅执行一次,非周期执行。
ScheduledFuture<?> java.util.concurrent.ScheduledExecutorService.scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)
系统启动后,延迟{delay}{unit}时间执行{command},之后每隔{period}{unit}便执行一次{command},周期执行。
情景一:{command}执行时间小于等于{period}{unit}时间,严格按照间隔时间,每隔{period}{unit}执行一次{command}。
情景二:{command}执行时间大于{period}{unit}时间,等待上一次{command}执行完,立即执行下一次{command}。
ScheduledFuture<?> java.util.concurrent.ScheduledExecutorService.scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)
系统启动后,延迟{delay}{unit}时间执行{command},在上一次{command}结束后,等待{period}{unit}时间执行下一次{command},周期执行。