📜  线程 java 计时器 - Java (1)

📅  最后修改于: 2023-12-03 15:27:33.212000             🧑  作者: Mango

线程 Java 计时器 - Java

Java 中的计时器允许我们在指定的时间间隔执行任务。线程 Java 计时器技术可以让我们实现这样的功能,在指定的时间间隔内执行特定的任务。

计时器类

Java 中的 Timer 类提供了一个简单的框架来实现计时器功能。Timer 类执行我们指定的任务,而且可以让我们指定任务在将来某一时刻执行。

Timer 类的常用构造方法如下:

Timer()
Timer(boolean isDaemon)
Timer(String name)
Timer(String name, boolean isDaemon)
计时器任务

在 Java 中,计时器任务由 TimerTask 类来表示。TimerTask 类是一个抽象类,我们不能直接实例化它,而是需要继承该类并实现它的 run() 方法来实现计时器任务。

例如,下面的代码演示了如何实现一个简单的计时器任务:

import java.util.TimerTask;

public class MyTask extends TimerTask {
   public void run() {
      System.out.println("Hello! Timer Task is executing.");
   }
}
创建计时器

我们可以使用 Timer 类的 schedule() 方法来创建计时器。该方法的语法如下:

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

例如,下面的代码演示了如何创建一个计时器,并使用它来调度一个计时器任务:

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

public class MyTimer {
   public static void main(String[] args) {
      // 创建计时器
      Timer myTimer = new Timer();

      // 创建计时器任务
      MyTask myTask = new MyTask();

      // 使用计时器调度任务
      myTimer.schedule(myTask, new Date(), 1000);
   }
}

上面的代码将创建一个计时器,该计时器会在每隔 1000 毫秒(1 秒)执行一次 MyTask 类中的 run() 方法。

取消计时器

在 Java 中,我们可以使用 Timer 类的 cancel() 方法取消计时器。该方法的语法如下:

void cancel()

例如,下面的代码演示了如何创建一个计时器,并使用它来调度一个计时器任务。然后取消该计时器:

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

public class MyTimer {
   public static void main(String[] args) {
      // 创建计时器
      Timer myTimer = new Timer();

      // 创建计时器任务
      MyTask myTask = new MyTask();

      // 使用计时器调度任务
      myTimer.schedule(myTask, new Date(), 1000);

      // 取消计时器
      myTimer.cancel();
   }
}

上面的代码将创建一个计时器,该计时器会在每隔 1000 毫秒(1 秒)执行一次 MyTask 类中的 run() 方法。然后,我们将使用 cancel() 方法取消该计时器。