ScheduledThreadPoolExecutor

ScheduledThreadPoolExecutor用于定时任务,来支持周期性任务的调度java

ScheduledThreadPoolExecutor继承了ThreadPoolExecutor,实现了ScheduledExecutorService。在线程池的基础上,实现了可调度的线程池功能ide

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
相关文章
相关标签/搜索