(黑马Java多线程与并发库高级应用)02 传统定时器技术回顾

代码1:

package cn.itcast.heima2;

import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;

public class TraditionalTimerTest {
    public static void main(String[] args) {
        new Timer().schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println("OUTER:boom!");
            }
        },10000,3000);
        
        while(true){
            System.out.println(Calendar.getInstance().get(Calendar.SECOND));
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

代码2:

package cn.itcast.heima2;

import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;

public class TraditionalTimerTest {
    
    static class MyTimerTask extends TimerTask{
        static int count=0;
        @Override
        public void run() {
            // TODO Auto-generated method stub
            count=(count+1)%2;
            System.out.println("OUTER:boom!");
            new Timer().schedule(new MyTimerTask(), 2000+2000*count);
        }
        
    }
    
    public static void main(String[] args) {
        
        
        
        new Timer().schedule(new MyTimerTask(),2000);
        
        while(true){
            System.out.println(Calendar.getInstance().get(Calendar.SECOND));
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

 

posted @ 2017-07-23 11:14  z_dominic  阅读(146)  评论(0编辑  收藏  举报