天天看點

Java Timer類和TimerTask類的定時使用

package com.text;

import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class Text {
	private Timer timer = new Timer();
	private int index = 0;
	private TimerTask timerTask = new TimerTask() {

		@Override
		public void run() {
			System.out.println("index:" + (index++));
			if (index > 10) {
				timer.cancel(); // 清空計時
			}
		}
	};

	public void start1() {
		timer.schedule(timerTask, 5000, 1000);// 5秒以後啟動,并每隔1秒啟動一次
	}

	public void start2() {
		timer.schedule(timerTask, 5000);// 5秒以後啟動一次
	}

	public void start3() {
		Calendar c = Calendar.getInstance();
		c.add(Calendar.SECOND, 10);
		Date date = c.getTime(); // 10秒以後的時間
		timer.schedule(timerTask, date, 1000);// 10秒以後啟動,并沒隔1秒啟動一次
	}

	public void start4() {
		Calendar c = Calendar.getInstance();
		c.add(Calendar.SECOND, 10);
		Date date = c.getTime(); // 10秒以後的時間
		timer.schedule(timerTask, date);// 10秒以後啟動一次
	}

	public static void main(String args[]) throws ParseException {
		Text text = new Text();
		text.start3();
	}
}