天天看点

定时调度|学习笔记

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