Java中的Timer和TimerTask的使用

来源:java认证发布时间:2012-11-12 13:12:48java认证视频

  该类YourTimerTask 是一个定时任务类,可以实例化多个定时任务的实例。

  创建一个Timer定时器实例,并为多个定时任务设置同一个定时器,如下所示:

  package org.shirdrn;

  import java.util.Date;

  import java.util.Timer;

  public class TimerTaskTest {

  public static void main(String[] args) {

  Timer timer = new Timer();

  YourTimerTask ytta = new YourTimerTask("a");

  YourTimerTask yttb = new YourTimerTask("b");

  YourTimerTask yttc = new YourTimerTask("c");

  ytta.setTimer(timer);

  try {

  Thread.sleep(2000);

  } catch (InterruptedException e) {

  e.printStackTrace();

  }

  yttb.setTimer(timer);

  try {

  Thread.sleep(2000);

  } catch (InterruptedException e) {

  e.printStackTrace();

  }

  yttc.setTimer(timer);

  }

  }

  运行结果如下所示:

  scheduled time : 1233554559343

  a-> current time : 1233554559343

  a-> current time : 1233554561343

  scheduled time : 1233554559343

  b-> current time : 1233554561343

  scheduled time : 1233554561359

  b-> current time : 1233554563359

  a-> current time : 1233554563359

  c-> current time : 1233554563359

  b-> current time : 1233554565343

  a-> current time : 1233554565343

  c-> current time : 1233554565375

  a-> current time : 1233554567343

  b-> current time : 1233554567343

  c-> current time : 1233554567375

  b-> current time : 1233554569343

  a-> current time : 1233554569343

  c-> current time : 1233554569375

  a-> current time : 1233554571343

  b-> current time : 1233554571343

  c-> current time : 1233554571375

  可以通过调用Timer类的cancel方法终止该定时器,调用purge方法重该定时器队列中移除所有已经取消的定时任务。

  更多的可以参考帮助文档:

  void cancel()

  终止此计时器,丢弃所有当前已安排的任务。

  int purge()

  从此计时器的任务队列中移除所有已取消的任务。

  void schedule(TimerTask task, Date time)

  安排在指定的时间执行指定的任务。

  void schedule(TimerTask task, Date firstTime, long period)

  安排指定的任务在指定的时间开始进行重复的固定延迟执行。

  void schedule(TimerTask task, long delay)

  安排在指定延迟后执行指定的任务。

  void schedule(TimerTask task, long delay, long period)

  安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。

  void scheduleAtFixedRate(TimerTask task, Date firstTime, long period)

  安排指定的任务在指定的时间开始进行重复的固定速率执行。

  void scheduleAtFixedRate(TimerTask task, long delay, long period)

  安排指定的任务在指定的延迟后开始进行重复的固定速率执行。

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答