Java定时器定时器Timer简述简述
本文主要介绍了Java定时器Timer的相关知识,具有一定的参考价值,下面跟着小编一起来看下吧
概述概述
主要用于Java线程里指定时间或周期运行任务。Timer是线程安全的,但不提供实时性(real-time)保证。
构造函数构造函数
Timer()
默认构造函数。
Timer(boolean)
指定关联线程是否作为daemon线程。
Timer(String)
指定关联线程的名称。
Timer(String, boolean)
同时指定关联线程的名称和是否作为daemon。
schdule方法方法
schedule(TimerTask task, long delay)
以当前时间为基准,延迟指定的毫秒后执行一次TimerTask任务。
schedule(TimerTask task, Date time)
在指定的日期执行一次TimerTask任务。
如果日期time早于当前时间,则立刻执行。
使用示例使用示例
public class Demo {
private static Timer timer = new Timer();
public static class MyTask extends TimerTask {
@Override
public void run() {
System.out.println("Run Time:" + new Date().toString());
}
}
public static void main(String[] args) {
try {
MyTask task = new MyTask();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = "2016-12-27 14:36:00";
Date date = sdf.parse(dateStr);
System.out.println("Date = " + date.toString() + " NowTime = " + new Date().toString());
timer.schedule(task, date);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
执行结果执行结果
Date = Tue Dec 27 14:36:00 CST 2016 NowTime = Tue Dec 27 21:28:04 CST 2016
Run Time:Tue Dec 27 21:28:04 CST 2016
说明是立刻执行。
schedule(TimerTask task, long delay, long period)
以当前时间为基准,延迟指定的毫秒后,再按指定的时间间隔地无限次数的执行TimerTask任务。(fixed-delay execution)
使用示例使用示例