阅读(868) (6)

鸿蒙OS TimerTask

2022-06-16 16:30:27 更新

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() 返回的格式。 如果任务尚未开始其第一次执行,则返回值未定义。