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();
	}
}




原文地址:https://www.cnblogs.com/yht520/p/3589668.html