java定时器Timer的使用

Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。

TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。

先看一个简单的实例:

/**
 * 每2秒执行一次定时任务,执行10次后取消任务
 * @author xiewanzhi
 * @date 2011-4-27上午09:30:45
 * @version 1.0
 */
public class TestTimer {
	Timer timer = new Timer();
	public void executeTask() {
		//从当前时间开始,以后每两秒执行一次任务
		timer.schedule(new DefineTimerTask(), new Date(), 2000);
	}
	/**
	 * 执行定时任务
	 */
	private class DefineTimerTask extends TimerTask {
		//执行的次数
		int count = 0;
		public void run() {
			//发出嘟嘟声
			Toolkit.getDefaultToolkit().beep();
			System.out.println("执行定时任务 " + count);
			count ++;
			//执行第10次时取消任务
			if (count == 10) {
				timer.cancel();
			}
		}
	}
	public static void main(String[] args) {
		new TestTimer().executeTask();
	}
}

 这个例子是每个两秒钟执行一次DefineTimerTask任务,每次都会发出一声嘟的声响。

这个小例子可以说明一些用Timer线程实现和计划执行一个任务的基础步骤:

实现自定义的TimerTask的子类,run方法包含要执行的任务代码,在这个例子里,这个子类就是DefineTimerTask 。

制定执行计划。这里用schedule方法,第一个 参数是执行任务的对象,第二个参数是当前时间,当前执行一次任务,第三个参数是循环执行任务之间的时间间隔2s。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值