【Java常用类库】_定时调度笔记
2014-10-01 23:25
253 查看
【Java常用类库】_定时调度笔记
分类: Java【Java常用类库】_定时调度笔记
本章目标:
了解定时调度的作用。
掌握Timer和TimerTask类的作用
3、具体内容
定时调度,每当一端时间,程序会自动执行,称为定时调度。
如果要使用定时调度,则必须保证程序始终运行着才可以,也就是说是相当于定时调度是在程序之外又启动了一个新的线程!
Timer和TimeTask两个类完成定时调度。
Timer类
Timer类是一种线程设施,可以用来实现某一个时间或某一段时间后,安排某一个任务执行一次,或定期重复执行。该功能要与TimerTask配合使用。TimerTask类用来实现由Timer安排的一次或重复执行的某一个任务。
每一个Timer对象对应是的一个线程,因此计时器所执行的任务应该迅速完成,否则可能会延迟后续任务的执行,而这些后续的任务就有可能堆在一起,等到该任务完成后才能快速连续执行。
schedule()与scheduleAtFixedRate()方法的区别
两者的区别在与重复执行任务时,对于时间间隔出现延迟的情况处理:
schedule()方法的执行时间间隔永远是固定的,如果之前出现了延迟的情况,之后也会继续按照设定好的间隔时间来执行。
scheduleAtFixedRate()方法可以根据出现的延迟时间自动调整下一次间隔的执行时间。
实例代码(间隔一段时间打印当前时间) :
// 完成具体的任务操作
[java] view
plaincopyprint?
import java.util.TimerTask ;
import java.util.Date ;
import java.text.SimpleDateFormat ;
class MyTask extends TimerTask{ // 任务调度类都要继承TimerTask
public void run(){
SimpleDateFormat sdf = null ;
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS") ;
System.out.println("当前系统时间为:" + sdf.format(new Date())) ;
}
};
[java] view
plaincopyprint?
import java.util.Timer ;
public class TestTask{
public static void main(String args[]){
Timer t = new Timer() ; // 建立Timer类对象
MyTask mytask = new MyTask() ; // 定义任务
t.schedule(mytask,1000,2000) ; // 设置任务的执行,1秒后开始,每2秒重复
}
};
相关文章推荐
- 11. JAVA常用类库 Part 5 (正则表达式、定时调度、本章要点) ----- 学习笔记
- 【Java常用类库】_定时调度笔记
- Java 常用类库——定时调度
- Java常用类库--定时调度(Timer、TimerTask)
- java常用类库续3(比较器Comparable、Comparator、观察者设计模式、正则表达式、定时调度)
- java常用类库---定时调度
- Java常用类库——定时调度(Timer、TimerTask)
- 【Java常用类库】_比较器(Comparable、Comparator)笔记
- 【Java常用类库】_日期操作类(DateFormat、SimpleDateFormat)笔记
- 11. JAVA常用类库 Part 2 (System类、日期操作类) ----- 学习笔记
- 【Java常用类库】_日期操作类(DateFormat、SimpleDateFormat)笔记
- 11. JAVA常用类库 Part 4 (对象克隆技术clone、Arrays类、Comparable接口、比较器Comparator、观察者设计模式) ----- 学习笔记
- 黑马程序员——JAVA学习整理笔记——常用类库
- Java复习笔记—常用类库
- 【Java常用类库】_日期操作类(Date、Calendar)笔记
- 【Java常用类库】_比较器(Comparable、Comparator)笔记
- 【Java常用类库】_正则表达式笔记
- 【Java常用类库】_日期操作类(Date、Calendar)笔记
- 【Java常用类库】_Arrays笔记
- 【Java常用类库】_Arrays笔记