TimerTask
java.lang.Object
|—java.util.TimerTask
public abstract class TimerTask
extends Object
implements Runnable
可以由 Timer 安排一次或重复执行的任务。
构造函数摘要
修饰符 | 构造函数 | 描述 |
---|---|---|
protected | TimerTask() | 创建一个新的计时器任务。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
boolean | cancel() | 取消此计时器任务。 |
abstract void | run() | 此计时器任务要执行的操作。 |
long | scheduledExecutionTime() | 返回此任务最近一次实际执行的计划执行时间。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造函数详细信息
TimerTask
protected TimerTask()
创建一个新的计时器任务。
方法详情
run
public abstract void run()
此计时器任务要执行的操作。
指定者:
在接口 Runnable 中运行
cancel
public boolean cancel()
取消此计时器任务。 如果任务已安排为一次性执行但尚未运行,或者尚未安排,则它永远不会运行。 如果任务已被安排重复执行,它将永远不会再次运行。 (如果此调用发生时任务正在运行,则任务将运行到完成,但永远不会再次运行。)
请注意,从重复计时器任务的 run 方法中调用此方法绝对保证计时器任务不会再次运行。
该方法可能会被重复调用; 第二次和后续调用无效。
返回:
如果此任务已安排为一次性执行但尚未运行,或者此任务已安排为重复执行,则为 true。 如果任务被调度为一次性执行并且已经运行,或者如果任务从未被调度,或者如果任务已经被取消,则返回 false。 (简单地说,如果该方法阻止了一个或多个预定执行的发生,则该方法返回 true。)
scheduledExecutionTime
public long scheduledExecutionTime()
返回此任务最近一次实际执行的计划执行时间。 (如果在任务执行过程中调用此方法,则返回值是当前任务执行的预定执行时间。)
此方法通常从任务的 run 方法中调用,以确定任务的当前执行是否足够及时以保证执行计划的活动:
public void run() {
if (System.currentTimeMillis() - scheduledExecutionTime() >=
MAX_TARDINESS)
return; // Too late; skip this execution.
// Perform the task
}
此方法通常不与固定延迟执行重复任务结合使用,因为它们的计划执行时间允许随时间漂移,因此不是非常重要。
返回:
计划最近执行此任务的时间,采用 Date.getTime() 返回的格式。 如果任务尚未开始其第一次执行,则返回值未定义。