阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第12章:开发支持类库:课时50:定时调度
程序员文章站
2022-07-04 18:51:46
...
定时器的主要操作是进行定时任务的处理,就好比你们每天早晨起来的铃声一样。在Java中提供有定时任务的支持,但是这种任务的处理只是实现了一种间隔触发的操作。
如果要想实现定时的处理操作主要需要有一个定时操作的主体类,以及一个定时任务的控制。可以使用两个类实现:
java.util.TimerTask类:实现定时任务处理;
java.util.Timer类:进行任务的启动,启动的方法;
|—任务启动:public void schedule(TimerTask task, long delay)、延迟单位为毫秒;
|—间隔触发:public void scheduleAtFixedRate(TimerTask task, long delay, long period);
范例:实现定时任务处理
package cn.mldn.demo;
import java.util.Timer;
import java.util.TimerTask;
class MyTask extends TimerTask { // 任务主体
@Override
public void run() { // 多线程的处理方法
System.out.println(Thread.currentThread().getName() + "、定时任务执行,当前时间:" + System.currentTimeMillis());
}
}
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
Timer timer = new Timer() ; // 定时任务
// 定义间隔任务,100毫秒后开始执行,每秒执行1次
timer.scheduleAtFixedRate(new MyTask(), 100, 1000);
}
}
这种定时是由JDK最原始的方式提供的支持,但是实际上开发之中利用此类方式进行的定时处理实现的代码会非常的复杂。
推荐阅读
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第22章:反射应用案例:课时101:反射实例化对象
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第24章:反射与简单Java类:课时111:单级属性赋值
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第18章: 输入与输出支持:课时84:打印流
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第22章:反射应用案例:课时102:反射与工厂设计模式
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第16章:字节流与字符流:课时75:Writer字符输出流
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第17章: IO操作深入:课时83:RandomAccessFile
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第26章:反射与代理设计模式:课时118:动态代理设计模式
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第23章:反射与类操作:课时105:反射调用构造方法(含关系图-重要)
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第17章: IO操作深入:课时82:管道流
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第25章:ClassLoader类加载器:课时115:ClassLoader类加载器简介