Java常用类:Timer定时器

timer

在java中,经常要执行某种定时操作。timer类是一种线程设施,可以用来实现某一个时间后某一段时间后安排一个任务的执行.

Timer类需要和TimerTask类配合使用.

实现一段时间后执行某个任务:

timer.schedule(TimerTask t, long time);

package cn.xtnotes.u2;
import java.util.Timer;
import java.util.TimerTask;
public class T9_timer {
	public static void main(String[] args) {
		Timer t1=new Timer();  //控制定时任务的执行方式
		
		TimerTask task=new TimerTask() {  //定义定义任务的内容
			public void run() {
				System.out.println("定时任务被执行!");
			}
		};
		t1.schedule(task, 3000); //3000ms后执行task
	}
}

上面代码,3秒后执行task,也就是3秒后输出定时任务被执行!

实现某个时间点执行某个任务:

timer.schedule(TimerTask, Date date);

package cn.xtnotes.u2;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Timer;
import java.util.TimerTask;
public class T9_timer {
	public static void main(String[] args) throws ParseException {
		Timer t1=new Timer();
		
		TimerTask task=new TimerTask() {
			public void run() {
				System.out.println("定时任务被执行!");
			}
		};
		//固定时间点执行定时任务
		t1.schedule(task, new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2021/8/22 13:42:20")); 
	}
}

2021/8/22 13:42:20执行task,输出:定时任务被执行!

实现任务的重复执行:

t1.schedule(task, delay, period);

package cn.xtnotes.u2;
import java.text.ParseException;
import java.util.Timer;
import java.util.TimerTask;
public class T9_timer {
	public static void main(String[] args) throws ParseException {
		Timer t1=new Timer();
		
		TimerTask task=new TimerTask() {
			public void run() {
				System.out.println("定时任务被执行!");
			}
		};
        //重复执行
		t1.schedule(task, 2000, 1000);
	}
}

2000ms后,执行一次task,每个1000ms在执行一次

阅读剩余
THE END