开发者学堂课程【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 最原始的方式提供的支持,但实际上开发之中利用此类方式进行定时处理的代码会非常复杂