package cn.hinge.yangjun;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TraditionalTimerTest {
// 通过静态变量可以定义一个共享的变量 ,切忌内部内不能定义局部变量
private static int count = 0;
public static void main(String[] args) {
/*
* demo2:先2秒钟爆炸一次,然后4s钟爆炸一次,以下会交替执行
* 因为通-个炸弹只能爆炸一次。所以需要new多个不同炸弹在不同时刻爆炸;
* 如果用匿名类实例化一次。就找不到了。因为没有名字,所以定义个普通类
* 这里调度器是一个对象。定时炸弹是一个对象
*/
class MyTimerTask extends TimerTask{ //定义炸弹
@Override
public void run(){
// 0 与 1 之间切换 判断 每隔2秒钟 执行一次爆炸或者
System.out.println("count="+count);
count = (count+1)%2;
System.out.println("count1="+count);
//炸弹爆炸
System.out.println("bombing");
//爆炸完2秒钟后,继续爆炸间隔2秒钟,开始爆炸
new Timer().schedule(new MyTimerTask(), 2000+2000*count);//然后等过2秒钟在爆炸一次,因为通-个炸弹只能爆炸一次。所以需要new多个不同炸弹在不同时刻爆炸;
}
}
new Timer().schedule(new MyTimerTask(),2000); //两秒以后炮炸
//仅仅只是打印时间信息而已
while(true){
System.out.println(new Date().getSeconds());
try {
Thread.sleep(1000);//每隔一秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
阅读(1243) | 评论(0) | 转发(0) |