您的位置:首页 > 其它

定时器的使用

2016-05-05 10:59 363 查看

参考

张孝祥系列

场景

Timer类的使用

实验

package cool.pengych.java.thread;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
* 定时器复习 :编写一个小程序轮流间隔2秒、4秒轰炸
* 1、递归的使用
* 2、循环取某个范围内的数字
* @author pengyucheng
*/
public class TimerTest
{
private int count = 1;
class MyTimerTask extends TimerTask
{
@Override
public void run()
{
count = (count + 1) % 2; // 注意这个小技巧的使用:循环取某个范围内的数字。num = (num + 1) % length
System.out.println("bombing ... ");
new Timer().schedule(new MyTimerTask(),2000+ 2000*count);
}
}

public static void main(String[] args)
{
/*第一:同一组特工bomb两次
* 2秒后第一次bomb,4秒后再bomb
*/
new Timer().schedule(new TimerTask() {
@Override
public void run() {

System.out.println("bombing");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("bombing2");
}
},2000 );

/*
* 第二、两组特工分布bomb一次
* 2秒后第一次bomb,4秒后再bomb
*/
new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("bombing");
new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("bombing 2");
}
}, 4000);
}
},2000 );

/*
* 第三、两组特工轮流bomb
*/
new Timer().schedule(new TimerTest().new MyTimerTask(), 1000);
while(true)
{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
System.out.println(new Date().getSeconds());
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: