Java常用类库--定时调度(Timer、TimerTask)

定时调度:每当一到时间,程序会自动执行,称为定时调度。
如果要使用定时调度,则必须保证程序始终运行着才可以,也就是说相当于定时调度是在程序之外又启动了一个新的线程。

Timer和TimerTask两个类完成定时调度。

Java常用类库--定时调度(Timer、TimerTask)_第1张图片

Java常用类库--定时调度(Timer、TimerTask)_第2张图片

Java常用类库--定时调度(Timer、TimerTask)_第3张图片

Java常用类库--定时调度(Timer、TimerTask)_第4张图片

如果现在一个Timer类要想调度程序的话,则需要使用TimerTask的子类。
就依照此概念,完成一个定时调度的程序,每隔2秒打印一次时间。

// 完成具体的任务操作 
import java.util.TimerTask ;
import java.util.Date ;
import java.text.SimpleDateFormat ;
class MyTask extends TimerTask{	// 任务调度类都要继承TimerTask
	public void run(){
		SimpleDateFormat sdf = null ;
		sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS") ;
		System.out.println("当前系统时间为:" + sdf.format(new Date())) ;
	}
};

完成的是一个具体的任务操作类,以后定时调度就调度的是此类的操作。方法的主体就是run()方法。
建立测试类,并执行任务调度。

import java.util.Timer ;
public class TestTask{
	public static void main(String args[]){
		Timer t = new Timer() ;	// 建立Timer类对象
		MyTask mytask = new MyTask() ;	// 定义任务
		t.schedule(mytask,1000,2000) ;	// 设置任务的执行,1秒后开始,每2秒重复
	}
};




你可能感兴趣的:(Java常用类库--定时调度(Timer、TimerTask))