java关于Timer schedule执行定时任务

简介:
 

公司技术人员在实现内部办公系统与外部网站一体化的时候,最重要的步骤就是从OA系统读取数据,并且根据网站模板生成最终的静态页面。这里就需要一个定时任务,循环的执行。

技术人员在写定时任务的时候,想当然的以为Timer.schedule(TimerTask task, long delay)就是重复的执行task。程序运行后发现只运行了一次,总觉得是task里的代码有问题,花了很长时间调试代码都没有结果。

仔细研读java api,发现:

schedule(TimerTask task, long delay)的注释:Schedules the specified task for execution after the specified delay。大意是在延时delay毫秒后执行task。并没有提到重复执行

schedule(TimerTask task, long delay, long period)的注释:Schedules the specified task for repeated fixed-delay execution, beginning after the specified delay。大意是在延时delay毫秒后重复的执行task,周期是period毫秒。

这样问题就很明确schedule(TimerTask task, long delay)只执行一次,schedule(TimerTask task, long delay, long period)才是重复的执行。关键的问题在于程序员误以为schedule就是重复的执行,而没有仔细的研究API,一方面也是英文能力不够,浏览API的过程中不能很快的理解到含义。

相关文章
|
4月前
|
Java 调度 Spring
Java中几种定时任务使用与详解
Java中几种定时任务使用与详解
53 0
|
7月前
|
算法 Java Linux
Java线程常用定时任务算法与应用
Java线程常用定时任务算法与应用
81 0
|
5月前
|
Java
java的Timer定时器
java的Timer定时器
|
4月前
|
Java Linux 调度
Java【付诸实践 03】Spring定时任务注解@Scheduled+@EnableAsync用法详解(简单说明+应用场景+demo源代码+执行过程分析)
Java【付诸实践 03】Spring定时任务注解@Scheduled+@EnableAsync用法详解(简单说明+应用场景+demo源代码+执行过程分析)
53 2
|
4月前
|
Java
【Java多线程】定时器Timer
【Java多线程】定时器Timer
32 0
【Java多线程】定时器Timer
|
8月前
|
安全 Java
【Java|多线程与高并发】定时器(Timer)详解
在Java中,定时器Timer类是用于执行定时任务的工具类。它允许你安排一个任务在未来的某个时间点执行,或者以固定的时间间隔重复执行。
|
9月前
|
Java
JAVA定时任务时间配置
JAVA定时任务时间配置
278 0
|
10月前
|
Java Spring
[java]spring-task定时任务
[java]spring-task定时任务
56 0
|
10月前
|
开发框架 Java 调度
[java]spring-Quartz定时任务
[java]spring-Quartz定时任务
130 0
|
11月前
|
Java
Java Review - 使用Timer时需要注意的事情
Java Review - 使用Timer时需要注意的事情
90 0