Java定时器:Timer

1. schedule(TimerTask task, Date time):在指定Date日期,开始执行TimerTask里的run方法
2. schedule(TimerTask task, long delay):延迟一段时间后,开始执行TimerTask里的run方法

3. schedule(TimerTask task, long delay, long period):延迟一段时间后,开始执行TimerTask里的run方法,并每隔period秒后,重复执行run方法



1 和 2 实例:
package com.timer;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class Run1 {

	private static Timer timer = new Timer();
	
	/*
	 * TimerTask 的实现类,并重写run()方法
	 */
	static public class MyTask extends TimerTask{

		@Override
		public void run() {
			System.out.println("运行了!时间为:" + new Date());
		}
	}
	
	public static void main(String[] args) {
		try{
			MyTask task = new MyTask();
			
//			timer.schedule(task, 5000);		//延迟5秒后,开始执行task里的run()方法
			
			timer.schedule(task, 5000, 2000);	//延迟5秒后,开始执行task里的run()方法,并在后面每隔两秒重复执行run()方法
			
		}catch(Exception e){
			e.printStackTrace();
		}
		
	}
	
}

  

3 实例:

package com.timer;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class Run1 {

	private static Timer timer = new Timer();
	
	/*
	 * TimerTask 的实现类,并重写run()方法
	 */
	static public class MyTask extends TimerTask{

		@Override
		public void run() {
			System.out.println("运行了!时间为:" + new Date());
		}
	}
	
	public static void main(String[] args) {
		try{
			MyTask task = new MyTask();
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			String dateString = "2017-10-17 9:45:00";
			Date dateRef = sdf.parse(dateString);
			System.out.println("字符串时间:" + dateRef.toLocaleString() + "  当前时间:" + new Date().toLocaleString());
			timer.schedule(task, dateRef);	//在指定日期,开始执行run()方法,指定日期要比你现在的系统时间晚
			
		}catch(Exception e){
			e.printStackTrace();
		}
		
	}
	
}

 运行效果

字符串时间:2017-10-17 9:45:00  当前时间:2017-10-17 9:44:33
运行了!时间为:Tue Oct 17 09:45:00 CST 2017
原文地址:https://www.cnblogs.com/Donnnnnn/p/7680070.html