您的位置:首页 > 其它

thread_Timer(线程中定时器)

2016-06-15 15:01 453 查看
package com.gzhs.zsd.thread;

import java.util.Date;

import java.util.Timer;

import java.util.TimerTask;

/***

 * Timer定时器运用

 * @author 谢泽鹏

 * @version 1.0

 */

public class Traditional_Timer {

public  static Integer count = 0;

public static void initData(){
while (true) {
try {
System.out.println("记录时间: " + new Date().getSeconds() + "秒");
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

public static void main(String[] args) {

//创建定时器(10秒钟后炸弹爆炸, 之后间隔5秒钟炸弹爆炸)
      //构造函数1  
//new Timer().schedule(task, time);  task表示调度的任务,  time表示调用时间
//new Timer().schedule(task, delay); task表示调度的任务,  delay调用定时器延迟X秒调用(单位/毫秒)
//构造函数2  
//new Timer().schedule(task, delay, period); task表示调度的任务,  delay调用定时器延迟X秒调用(单位/毫秒),  period之后每次调用定时器时间间隔时间
//new Timer().schedule(task, firstTime, period); task表示调度的任务, firstTime首次调用事件,  period之后每次调用定时器时间间隔时间
new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("炸弹爆炸 bombing !!!");
}
}, 10000, 5000);

            Traditional_Timer.initData();

   new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("炸弹爆炸0 bombing !!!");
new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("炸弹爆炸1 bombing !!!");
}
}, 2000);
}
}, 2000);
     Traditional_Timer.initData();

 //定时器3秒钟调用一次
  class myTimerTask01 extends TimerTask{
@Override
public void run() {
System.out.println("炸弹 bombing !!! ");
new Timer().schedule(new myTimerTask01(), 3000);
}
}
new Timer().schedule(new myTimerTask01(), 3000);
Traditional_Timer.initData();

//定时器3秒调用后 6秒钟调用
class myTimerTask02 extends TimerTask{
@Override
public void run() {
count = (count + 1) % 2;
System.out.println("炸弹 bombing !!! ");
new Timer().schedule(new myTimerTask02(), 3000 + 3000 * count);
}
}
new Timer().schedule(new myTimerTask02(), 3000);
Traditional_Timer.initData();

}

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