[源] TaskScheduler——任务调度器接口
TaskScheduler——抽象基于不同类型的触发器的可运行线程({@link Runnable})调度的任务调度接口

本接口与调度的任务执行器接口(SchedulingTaskExecutor)分开，是因为它通常表示不同类型的后端实现。

默认实现是线程池任务调度器(ThreadPoolTaskScheduler)，其包装一个原生的调度的执行器服务接口(ScheduledExecutorService)并增加扩展的触发器功能。

本接口大致相当于JSR-236的可管理调度的执行服务器接口(ManagedScheduledExecutorService)，在Java EE
6环境中支持。
但在Spring 3.0发布时，JSR-236接口并未发布。

ScheduledFuture<?> schedule(Runnable task, Trigger
trigger)——调度给定的可运行任务，当触发器指示下一次执行的时间时就调用它。
一旦调度器关闭或返回的结果延迟可接受的任务(ScheduledFuture)被取消时，执行将结束。

ScheduledFuture<?> schedule(Runnable task, Date
startTime)——调度给定的可运行任务，在指定的开始执行时间调用它。

ScheduledFuture<?> scheduleAtFixedRate(Runnable task, Date startTime,
long period)——调度给定的可运行任务，在指定的开始执行时间调用它，并随后使用给定的周期时间定期地调用它。

ScheduledFuture<?> scheduleAtFixedRate(Runnable task, long
period)——调度给定的可运行任务，在任务初始化完成之后就开始运行，并使用给定的周期时间定期地调用它。

ScheduledFuture<?> scheduleWithFixedDelay(Runnable task, Date startTime,
long delay)——调度给定的可运行任务，在指定的开始执行时间调用它，并随后使用在一次执行完成和下一次执行开始之间的延迟时间定期地调用它。

ScheduledFuture<?> scheduleWithFixedDelay(Runnable task, long
delay)——调度给定的可运行任务，在任务初始化完成之后就开始运行，并随后使用在一次执行完成和下一次执行开始之间的延迟时间定期地调用它。