一.延时执行
-
//延时n秒执行
-
service.schedule(Runnable, n, TimeUnit.SECONDS);//(以延时5S为例)
二.循环执行
-
//循环执行任务,首先延时m秒执行,n秒循环一次
-
service.scheduleAtFixedRate(Runnable, m, n, TimeUnit.SECONDS);//(以延时5S为例)
public static void main(String[] args) {
// 通过静态方法创建ScheduledExecutorService的实例创建一个线程池
ScheduledExecutorService service = Executors.newScheduledThreadPool(10);
Date date = new Date();
System.out.println("开始任务"+"----"+date);
//延时5秒执行
service.schedule(new Runnable() {
@Override
public void run() {
Date date = new Date();
System.out.println("延时执行任务"+"----"+date);
}
},5, TimeUnit.SECONDS);
service.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
Date date = new Date();
System.err.println("循环执行任务"+"----"+date);
}
},5,5,TimeUnit.SECONDS);
}
输出结果如下图: