您的位置:首页 > 编程语言 > Java开发

java基础——多线程(传统定时器)

2014-08-27 08:57 429 查看
一、定时器的应用
1、Timer类

2、TimerTask类

启动定时器的代码,过10秒钟后启动定时器,然后每过1秒定时器执行一次,前面的两个线程是每两秒钟暂停一次,这样很便于观察运行效果。

例子:

定时器的比喻用定时炸弹及炸弹第一次爆炸多久后继续爆炸的比喻说明,例如,东突恐怖组织定于几年几月几日几时几分几秒启动炸弹去炸鸟巢,等待救援警察赶到时,再次发生爆炸,结果把救援的警察也一锅端了。

[java] view
plaincopy

new Timer().schedule(  

    new TimerTask(){  

        public void run() {  

            System.out.println(Thread.currentThread().getName());  

        }  

    }, 10000, 1000);  

[java] view
plaincopy

/*需求二、每2秒或者4秒切换爆炸*/  

    class MyTimerTask extends TimerTask{ //这个MyTimerTask继承TimerTask  

    private int count; //count用于得0、1  

    @Override  

    public void run() {  

        count = (count+1)%2;  

        System.out.println("bombing");  

        new Timer().schedule(new MyTimerTask(), 2000+2000*count);//间隔2或4秒爆炸  

        }  

              

    }  

  

    new Timer().schedule(new MyTimerTask(), 2000);//定时器入口,参数一是用上面定义的MyTimerTask  

    while (true) { //这个循环用于打印出定时器每秒的  

        System.out.println(new Date().getSeconds());  

        try {  

        Thread.sleep(1000);  

        } catch (InterruptedException e) {  

            e.printStackTrace();  

        }  

    }  

}  

打印:

bombing

36

37

bombing

38

39

40

41

bombing

42

43

bombing

注:quartz也是定时有关的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java基础