Timer是java.util自带的类,该类可以完成定时任务调度功能,但是只有一个后台线程,所以不支持并发,而且当遇到运行时错误的时候会停止所有正在执行的任务。Quartz可以说是大哥,改善了这两大缺陷。
Timer Api接口介绍:

1.schedule(TimerTask,Date)是在计划的时间点执行一次。
实验一把:
先自定义一个TimerTask类
package com.hbk.test;
import java.text.SimpleDateFormat;
import java.util.TimerTask;
public class MyTimerTask extends TimerTask{
@Override
public void run() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df.format(scheduledExecutionTime()));// 打印任务真正执行时间
}
}
测试类:
package com.hbk.test;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
public class Test {

本文介绍了Java内置的Timer类,用于实现定时任务调度。Timer类仅有一个后台线程,不支持并发,并且异常会导致所有任务停止。文章通过示例详细讲解了Timer的API用法,包括schedule、scheduleAtFixedRate等方法,并对比了它们的区别。同时指出在并发或复杂业务场景下,推荐使用Quartz框架代替Timer。
最低0.47元/天 解锁文章
6401

被折叠的 条评论
为什么被折叠?



