`
xiewanzhi
  • 浏览: 158287 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java定时器Timer的使用

    博客分类:
  • J2SE
阅读更多

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。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics