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
相關文章
相關標籤/搜索