📜  Java.util.Timer 类在Java(1)

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

Java.util.Timer 类在 Java

在 Java 中,java.util.Timer 类是一个计时器,可用于执行定时任务。它允许我们安排在未来的某个时间执行某个任务,也可以周期性地执行任务。

主要特征
  1. Timer 具有可以按计划执行的子任务。这些子任务可以是一次性的,也可以周期性的重复执行,具体由我们设定。
  2. Timer 运行的线程是守护线程。如果没有其他非守护线程在运行,则它最终会停止运行。
  3. Timer 可以被取消,这样一来,所有尚未完成的任务都被取消,不再执行。
如何使用
创建计时器

要创建一个 Timer 对象,我们只需要使用 no-arg 构造函数。例如:

Timer timer = new Timer();
动态运行一次任务

要在未来的某个时间运行一次任务,我们使用 schedule() 方法。它的参数是 TimerTask 对象和一个带有 long 参数的时间值,指定任务应该在多长时间后执行。例如:

TimerTask task = new MyTask();
timer.schedule(task, 5000); // 5 秒钟后执行
周期性地运行任务

我们可以使用 scheduleAtFixedRate() 方法周期性地运行某个任务。它的参数是 TimerTask 对象、延迟值和重复周期。例如:

MyTask task = new MyTask();
timer.scheduleAtFixedRate(task, 0, 1000); // 每秒钟执行一次
取消任务

如果需要取消某个尚未运行的任务,我们可以使用 cancel() 方法。例如:

task.cancel(); // 取消任务
关闭计时器

当我们完成所有任务后,应该关闭计时器。这可以通过调用 cancel() 方法来实现。例如:

timer.cancel(); // 关闭计时器
小结

java.util.Timer 类可以很好地用于安排定期任务,并依据我们的需求,周期性地运行任务。在使用后,需要手动将计时器关闭,以释放系统资源。