定时器应用:Timer和TimerTask类

IT程序员开发必备-各类资源下载清单,史上最全IT资源,个人收藏总结!


Timer和TimerTask类:

Timer类为一个定时器类,调用其schedule(TimerTask task,...)方法,即可在指定时间调用TimerTask类的run()方法中的代码

TimerTask类为一个任务类,其为抽象类,只需要创建其子类,重写其run()方法,则可以调用run()中的代码

例子程序:

package edu.review;

import java.sql.Time;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TraditionalTimer {

	/**
	 * 目标一:创建一个定时器:延迟4秒后炸
	 * 目标二:创建一个定时器:延迟4秒后炸,然后每隔2秒炸
	 * 目标三:创建一个定时器:某一固定时刻炸
	 * 目标四:创建一个定时器:4秒和2秒交替着炸
	 * @throws InterruptedException 
	 **/
	 static int count = 1; //目标四炸弹的标记变量
	public static void main(String[] args) throws InterruptedException {
	  //目标一
	  new Timer().schedule(new TimerTask() {
		
		@Override
		public void run() {
			System.out.println("炸弹1:bombing!");
		}
	 },4000);
	  
	  //目标二
	  new Timer().schedule(new TimerTask() {
		@Override
		public void run() {
			System.out.println("炸弹2:bombing!");
		}
	}, 4000,2000);
	  
      //目标三
	  new Timer().schedule(new TimerTask() {
		
		@Override
		public void run() {
			System.out.println("炸弹4:bombing!");
		}
	}, new Date(new Date().getTime()+1*60*1000));//1分钟后炸
	  
	  //目标四
	  class MyTimerTask extends TimerTask{
		   
		  @Override
			public void run() {
			    count = (count+1)%2; 
				System.out.println("炸弹3:bombing!");
				new Timer().schedule(new MyTimerTask(), (count+1)*2000);
			}
	  }
	  new Timer().schedule(new MyTimerTask(),4000);
	  
	 //打印时间
	  int i = 0 ;
	  while(true){
		  Thread.sleep(1000);
		  System.out.println(++i);
	  }
	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值