Java中的Timer类是线程用于计划任务以供将来在后台线程中执行的工具。任务可以执行一次或多次。Timer类是线程安全的,即该类的线程不需要外部同步,并且可以共享一个Timer对象。需要注意的一点是,所有构造函数都启动一个Timer线程。
Java的Timer类从JDK 1.3开始出现。此类最多可以同时执行大量任务。在内部,它使用内存中的二进制堆表示其任务队列,因此调度任务的时间复杂度为O(log n),其中n是并发调度的任务数。
声明-java.util.Timer类的声明如下-
public class Timer extends Object
让我们看一下该类的构造函数。
构造器名称 | 描述 |
---|---|
计时器() | 该构造函数创建一个新的计时器。 |
计时器(布尔isDaemon) | 此构造函数创建一个新计时器,其链接线程可以描述为作为守护程序执行 |
计时器(字符串名称) | 此构造函数创建一个新的计时器,该计时器的链接线程具有参数中指定的名称 |
计时器(字符串名称,布尔值isDaemon) | 该构造函数创建一个新的计时器,该计时器的链接线程具有在参数中指定的名称,并且可以描述为作为守护程序运行。 |
这是Timer类的方法。
方法名称 | 描述 |
---|---|
无效cancel() | 它用于终止当前计时器并摆脱任何当前计划的任务 |
int purge() | 它从计时器的任务队列中删除所有已取消的任务。 |
无效的时间表(TimerTask任务,日期时间) | 它计划指定的任务在特定时间执行。 |
无效的时间表(TimerTask任务,Date firstTime,长时间段) | 它将指定的任务安排为在指定时间开始重复执行固定延迟。 |
无效的时间表(TimerTask任务,长时间延迟) | 在给定的延迟后,它将计划指定的任务以Java执行。 |
无效的时间表(TimerTask任务,长时间延迟,长时间) | 它将指定的任务安排为在指定的延迟之后开始重复执行固定延迟。 |
void scheduleAtFixedRate(TimerTask任务,日期为第一时间,很长一段时间) | 它计划指定的任务以重复的固定速率执行,该操作从指定的时间开始。 |
作废scheduleAtFixedRate(TimerTask任务,长时间延迟,长时间) | 它计划在指定的延迟后开始执行指定的任务以重复执行固定速率。 |