JDKTimer

package com.skex.test;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class JDKTimer {

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        //演示JDK中定时器的用法
        Timer timer = new Timer();
        System.out.println("10秒钟后执行定时器一...");
        timer.schedule(new TimerTask(){
            @Override
            public void run() {
                // TODO Auto-generated method stub
                System.out.println("定时器一执行完毕.");
            }
        }, 10*1000);
        

        System.out.println("定时执行定时器二...");
        timer.schedule(new TimerTask(){
            @Override
            public void run() {
                // TODO Auto-generated method stub
                System.out.println("定时器二执行完毕.");
            }
        }, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2017-07-11 16:19:00"));
        
        //周期性执行
        timer.schedule(new TimerTask(){
            int i=0;
            @Override
            public void run() {
                // TODO Auto-generated method stub
                System.out.println("每隔1秒钟执行定时器。 第 " + (++i) + "次执行. ");
                if(i>20) this.cancel();//执行20次后,终止该任务
            }
        }, new Date(),1000);
        
    }

}

/*
10秒钟后执行定时器一...
定时执行定时器二...
定时器二执行完毕.
每隔1秒钟执行定时器。 第 1次执行. 
每隔1秒钟执行定时器。 第 2次执行. 
每隔1秒钟执行定时器。 第 3次执行. 
每隔1秒钟执行定时器。 第 4次执行. 
每隔1秒钟执行定时器。 第 5次执行. 
每隔1秒钟执行定时器。 第 6次执行. 
每隔1秒钟执行定时器。 第 7次执行. 
每隔1秒钟执行定时器。 第 8次执行. 
每隔1秒钟执行定时器。 第 9次执行. 
每隔1秒钟执行定时器。 第 10次执行. 
定时器一执行完毕.
每隔1秒钟执行定时器。 第 11次执行. 
每隔1秒钟执行定时器。 第 12次执行. 
每隔1秒钟执行定时器。 第 13次执行. 
每隔1秒钟执行定时器。 第 14次执行. 
每隔1秒钟执行定时器。 第 15次执行. 
每隔1秒钟执行定时器。 第 16次执行. 
每隔1秒钟执行定时器。 第 17次执行. 
每隔1秒钟执行定时器。 第 18次执行. 
每隔1秒钟执行定时器。 第 19次执行. 
每隔1秒钟执行定时器。 第 20次执行. 
每隔1秒钟执行定时器。 第 21次执行. 
*/

 

posted @ 2017-07-11 16:31  sky20080101  阅读(39)  评论(0)    收藏  举报