开发者学堂课程【Java 高级编程:定时调度】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/20/detail/358
定时调度
内容介绍
1. 定时器简介
2. 定时任务
3. 范例:实现定时任务处理
4. timer 的缺点
定时器的主要操作是进行定时任务的处理,就好比每天早晨起来的铃声一样,但是这种任务的处理只是实现了一种间隔触发的操作。
定时任务
如果要想实现定时的处理操作主要需要有一个定时操作的主体类,以及一个定时任务的控制。可以使用两个类实现:
• java.util. TimerTask 类:实现定时任务处理;
• java.util.Timer _类:进行任务的启动,启动的方法;
– 任务启动: public void schedule(TimerTask task, long delay)、延迟单位为毫秒;
–
范例:实现定时任务处理
package cn.mldn.demo;
import java.util.Timer;
import java.uti1 .TimerTask;
class MyTask extends TimerTask { //任务主体
@override
public void run() { //多线程的处理方法
System.out.print1n(Thread.currentThread( ).getName() +“、定时任务执行,当前时间。”+ System.currentTimeMalls.
}
}
public class JavaAPIDemo {
public static void main(String[ ] args) throws Exception {
Timer timer = new Timer() ; l/定时任务
timer.schedule(new MyTask(), e); //延迟时间设置为日表示立即启动
}
}
timer 的缺点
Timer 对调度的支持是基于绝对时间,而不是相对时间的,由此任务对系统时钟的改变是敏感的;
总结:这种定时是由 JDK 最原始的方式提供的支持,但实际上开发之中利用此类方式进行定时处理的代码会非常复杂

