定时器Timer
一、概述
定时计划任务功能在Java中主要使用的就是Timer对象,它在内部使用多线程的方式进行处理,所以它和多线程技术还是有非常大的关联的。在JDK中Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务,但封装任务的类确实TimerTask类。
二、应用场景
我们使用timer的时候,一般有4种情况,但常用的有2种场景:
1、指定时间执行;
2、指定时间执行后间隔指定时间重复执行;
三、使用方法
1、首先要通过继承TimerTask类并实现run()方法来自定义要执行的任务(当然也可以写成匿名内部类)
2、需要创建一个定时器(Timer类对象),并通过Timer,schedule(TimerTask task,Date time)方法执行时间运送任务。
代码:使用内部类
ackage com.yunhe.day1102;
import java.util.Timer;
import java.util.TimerTask;
public class TimerTest {
public static void main(String[] args) {
// 计时器(定时器)类 用与指定时间后执行或重复执行线程
Timer t2 = new Timer();
// t2.schedule(task, delay);
// 延时指定毫秒后输出
t2.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("指定毫秒后执行线程");
t2.cancel();
}
}, 2000);
Timer t4 = new Timer();
//t4.schedule(task, delay, period);
//延时指定delay毫秒后首次执行 之后间隔period毫秒执行一次
t4.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("指定毫秒执行后重复执行");
}
}, 1000, 2000);
}
}