2019独角兽企业重金招聘Python工程师标准>>>
ScheduledThreadPoolExecutor用于定时任务,来支持周期性任务的调度
ScheduledThreadPoolExecutor继承了ThreadPoolExecutor,实现了ScheduledExecutorService。在线程池的基础上,实现了可调度的线程池功能
public class ScheduledThreadPoolExecutorTest {
public static void main(String agrs[]){
ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(4);
//指定时延后开始执行任务,以后每隔period的时长再次执行该任务
executor.scheduleAtFixedRate(new ThreadTest("Rate"),1,3, TimeUnit.SECONDS);
//指定时延后开始执行任务,以后任务执行完成后等待delay时长,再次执行任务
executor.scheduleWithFixedDelay(new ThreadTest("Delay"),1,3,TimeUnit.SECONDS);
//指定时延后调度执行任务
executor.schedule(new ThreadTest("schedule"),5,TimeUnit.SECONDS);
}
static class ThreadTest implements Runnable{
private String name;
public ThreadTest(String name) {
this.name = name;
}
@Override
public void run() {
System.out.println(name+" start"+new Date());
System.out.println();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(name +" end"+new Date());
}
}
}
Delay startWed Sep 12 11:56:22 CST 2018
Rate startWed Sep 12 11:56:22 CST 2018
Rate endWed Sep 12 11:56:23 CST 2018
Delay endWed Sep 12 11:56:23 CST 2018
Rate startWed Sep 12 11:56:25 CST 2018
Rate endWed Sep 12 11:56:26 CST 2018
schedule startWed Sep 12 11:56:26 CST 2018
Delay startWed Sep 12 11:56:26 CST 2018
schedule endWed Sep 12 11:56:27 CST 2018
Delay endWed Sep 12 11:56:27 CST 2018
Rate startWed Sep 12 11:56:28 CST 2018
Rate endWed Sep 12 11:56:29 CST 2018
Delay startWed Sep 12 11:56:30 CST 2018
Rate startWed Sep 12 11:56:31 CST 2018
Delay endWed Sep 12 11:56:31 CST 2018
Rate endWed Sep 12 11:56:32 CST 2018
Rate startWed Sep 12 11:56:34 CST 2018
Delay startWed Sep 12 11:56:34 CST 2018
Rate endWed Sep 12 11:56:35 CST 2018
Delay endWed Sep 12 11:56:35 CST 2018
Rate startWed Sep 12 11:56:37 CST 2018
Rate endWed Sep 12 11:56:38 CST 2018
Delay startWed Sep 12 11:56:38 CST 2018
Delay endWed Sep 12 11:56:39 CST 2018
Rate startWed Sep 12 11:56:40 CST 2018
Rate endWed Sep 12 11:56:41 CST 2018
Delay startWed Sep 12 11:56:42 CST 2018
Rate startWed Sep 12 11:56:43 CST 2018
Delay endWed Sep 12 11:56:43 CST 2018
Rate endWed Sep 12 11:56:44 CST 2018
Rate startWed Sep 12 11:56:46 CST 2018
Delay startWed Sep 12 11:56:46 CST 2018
Rate endWed Sep 12 11:56:47 CST 2018
Delay endWed Sep 12 11:56:47 CST 2018
Rate startWed Sep 12 11:56:49 CST 2018
Rate endWed Sep 12 11:56:50 CST 2018
Delay startWed Sep 12 11:56:50 CST 2018
Delay endWed Sep 12 11:56:51 CST 2018
Rate startWed Sep 12 11:56:52 CST 2018
Rate endWed Sep 12 11:56:53 CST 2018
Delay startWed Sep 12 11:56:54 CST 2018
Rate startWed Sep 12 11:56:55 CST 2018
Delay endWed Sep 12 11:56:55 CST 2018
Rate endWed Sep 12 11:56:56 CST 2018