java定时器示例讲解

看了一个关于java定时器的示例,完善了一下注释,应该还是比较清楚的了。


import java.awt.Toolkit;

import java.util.Timer;

import java.util.TimerTask;


/**

 * Schedule a task that executes once every second.

 */

public class AnnoyingBeep {

	Toolkit toolkit;

	Timer timer;

	public AnnoyingBeep() {

		// 获取默认工具包
		toolkit = Toolkit.getDefaultToolkit();
		timer = new Timer();
		// schedule:安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。
		// task - 所要安排的任务(RemindTask)
		// delay - 执行任务前的延迟时间,单位是毫秒(0)
		// period - 执行各后续任务之间的时间间隔,单位是毫秒(1 * 1000)
		timer.schedule(new RemindTask(), 0, 
				1 * 1000); 
	}

     class RemindTask extends TimerTask {

		int numWarningBeeps = 3;
		public void run() {
			if (numWarningBeeps > 0) {
				//发出一个音频嘟嘟声。
				toolkit.beep();
				System.out.println("Beep!");
				numWarningBeeps--;
			} else {
				toolkit.beep();
				System.out.println("Time's up!");
				System.exit(0); // Stops the AWT thread (and everything else)
			}

		}

	}



	public static void main(String args[]) {
		System.out.println("About to schedule task.");
		new AnnoyingBeep();
		System.out.println("Task scheduled.");
	}



}




运行结果为:

About to schedule task.
Task scheduled.
Beep!
Beep!
Beep!
Time's up!


你可能感兴趣的:(java,thread,UP)