用ScheduledExecutorService是从的java.util.concurrent里,做为并发工具类被引进的,这是最理想的定时任务实现方式。
1.相比于Timer的单线程,它是通过线程池的方式来执行任务的。
2.可以很灵活的去设定第一次执行任务delay时间。
3.提供了良好的约定,以便设定执行的时间间隔。
import java.util.Date;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class qwe {
public static void main(String[] args) {
//新建定时任务
Runnable runnable = new Runnable() {
//run方法中是定时执行的操作
public void run() {
System.out.println(new Date());
}
};
ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
/*
* 参数一:command:执行线程
* 参数二:initialDelay:初始化延时
* 参数三:period:两次开始执行最小间隔时间
* 参数四:unit:计时单位
*/
service.scheduleAtFixedRate(runnable, 0, 60, TimeUnit.SECONDS);
}
}