ScheduledExecutorService接口
我们定时任务的核心主要是scheduledExecutorService接口的scheduleAtFixedRate方法,查看源码如下:
public ScheduledFuture<?> scheduleAtFixedRate(Runnable command,
long initialDelay,
long period,
TimeUnit unit);
主要有四个参数,第一个参数传一个Runable接口的实现,第二个参数表示延迟多久后开始执行,第三个参数是每隔多久执行一次,最后一个参数表示时间单位,一般用TimeUnit.SECONDS表示秒
Schedulable接口
定义一个接口规范,方便ScheduledExecutorService传参
ScheduledExecutorService接口的四个参数,前三个是灵活传入的,最后一个秒是写死的。
第一个参数Runnable的实现,所以我们定义的Schedulable接口规范肯定要继承Runnable接口,然后把第二个、第三个参数定义两个方法,返回每隔多久执行和延迟多久执行的秒数
public interface Schedulable extends Runnable{
long delay();//延迟多久执行
long period();//每隔多久执行
}
<