Java Timer 类



介绍

Java Timer 类为线程提供了一种在后台线程中调度任务以供将来执行的机制。

  • 此类是线程安全的,即多个线程可以共享单个 Timer 对象,而无需外部同步。

  • 此类调度任务进行一次性执行或定期重复执行。

  • 所有构造函数都会启动一个计时器线程。

类声明

以下是java.util.Timer类的声明:

public class Timer
   extends Object

类构造函数

序号 构造函数和描述
1

Timer()

此构造函数创建一个新的计时器。

2

Timer(boolean isDaemon)

此构造函数创建一个新的计时器,其关联线程可以指定为守护进程运行。

3

Timer(String name)

此构造函数创建一个新的计时器,其关联线程具有指定名称。

4

Timer(String name, boolean isDaemon)

此构造函数创建一个新的计时器,其关联线程具有指定的名称,并且可以指定为守护进程运行。

类方法

序号 方法和描述
1 void cancel()

此方法终止此计时器,并丢弃任何当前已调度的任务。

2 int purge()

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

3 void schedule(TimerTask task, Date time)

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

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

此方法安排指定的任务以固定的速率重复执行,从指定时间开始。

继承的方法

此类继承自以下类的方法:

  • java.util.Object

使用 Timer 示例执行任务的调度

以下示例显示了 Java Timer schedule(TimerTask, Date) 方法的使用方法,用于调度计时器操作。我们使用 CustomTimerTask 对象创建了一个计时器对象。CustomTimerTask 是扩展 TimerTask 类并实现将在计划时间执行的 run() 方法的自定义类。然后,我们创建了一个计时器对象,并使用 schedule() 方法安排了一个任务以立即执行。

package com.tutorialspoint;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TimerDemo {
   public static void main(String[] args) {

      // creating timer task, timer
      TimerTask tasknew = new CustomTimerTask();
      Timer timer = new Timer("test",true);

      // scheduling the task
      timer.schedule(tasknew, new Date()); 

      try {
         Thread.sleep(1000);
      } catch (InterruptedException e) {
         System.out.println("Error");
      }
   }
}

class CustomTimerTask extends TimerTask {

   @Override
   public void run() {
      System.out.println("working on");
   }  
}

输出

让我们编译并运行上述程序,这将产生以下结果。

working on
广告