TimerTask-树叶云鸿蒙OS教程-鸿蒙OS (timertask)

教程大全 2025-07-20 18:54:03 浏览
public abstract class TimerTaskextends Objectimplements Runnable

可以由 Timer 安排一次或重复执行的任务。

构造函数摘要

Thead>
修饰符 构造函数 描述
TimerTask() 创建一个新的计时器任务。

方法总结

修饰符和类型 方法 描述
取消此计时器任务。
abstractvoid 此计时器任务要执行的操作。
scheduledExecutionTime() 返回此任务最近一次实际执行的计划执行时间。
从类 java.lang.Object 继承的方法
clone,equals,finalize,getClass,hashCode,notify,notifyAll,toString,wait,wait,wait

构造函数详细信息

Protected TimerTask()

创建一个新的计时器任务。

方法详情

public abstract void run()

此计时器任务要执行的操作。

指定者:

在接口 Runnable 中运行

public boolean Cancel()

取消此计时器任务。 如果任务已安排为一次性执行但尚未运行,或者尚未安排,则它永远不会运行。 如果任务已被安排重复执行,它将永远不会再次运行。 (如果此调用发生时任务正在运行,则任务将运行到完成,但永远不会再次运行。)

请注意,从重复计时器任务的 run 方法中调用此方法绝对保证计时器任务不会再次运行。

该方法可能会被重复调用; 第二次和后续调用无效。

timertask

返回:

如果此任务已安排为一次性执行但尚未运行,或者此任务已安排为重复执行,则为 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() 返回的格式。 如果任务尚未开始其第一次执行,则返回值未定义。


java timer使用方法

Timer都是跟TimerTask两个类结合一块使用的,Timer中最重要的就是schedule方法,下面这个历史是利用Timer跟TimerTask循环执行打印语句哈。 其他schedule方法的使用请参考api,里面写的很详细的。 public class TimerTest3 { public static void main(String[] args) { Timer t = new Timer(); (new TimerTask(){ @Override public void run() { (()); } }, 100l, 1000l);//100表示第一次执行时要延迟多少毫秒,1000表示每个一秒执行打印语句。 }}

JAVA ME 怎么让fonts 的 size (small, middle, large)通过一个按钮 每三秒改变一次,点停就停 求代码

3秒间隔比较长,用Timer实现的

public class FontTest extends MIDlet {

protected void destroyapp(boolean arg0){}

protected void pauseApp() {}

volatile public int font_status;

volatile public Timer timer;

protected void startApp(){

final Form f=new Form(字体测试);

final StringItem item=new StringItem(字体变化,);

final Font fonts[]={

(_MONOSPACE, _PLAIN, _SMALL),

(_MONOSPACE, _PLAIN, _MEDIUM),

(_MONOSPACE, _PLAIN, _LARGE)

final Command CMDStop=new Command(停止改变, , 0),

cmdGo=new Command(开始改变, , 0);

final String texts[]={小字体,中字体,大字体};

(fonts[0]); (texts[0]);

final Command cmdExit=new Command(退出, , 0);

(cmdExit); (cmdGo);

(new CommandListener() {

public void commandAction(Command c, Displayable d) {

if(c==cmdGo){

timer=new Timer();

(new TimerTask() {

public void run() {

synchronized (item) {

font_status++;

(fonts[font_status%3]);

(texts[font_status%3]);

} , 0,3000);

(cmdStop);

}else if(c==cmdStop){

(cmdStop);

}else if(c==cmdExit) notifyDestroyed();

(this)(f);

?!java.util.timer每天 在固定时间执行一次,用哪个方法呢

// 一天的毫秒数long daySpan = 24 * 60 * 60 * 1000;// 规定的每天时间15:33:30运行final SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd 15:33:30);// 首次运行时间Date startTime = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss)((new Date()));// 如果今天的已经过了 首次运行时间就改为明天if(() > ())startTime = new Date(() + daySpan);Timer t = new Timer();TimerTask task = new TimerTask(){@Overridepublic void run() {// 要执行的代码(xxxxxxxxx);}};// 以每24小时执行一次(task, startTime, daySpan);

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐