Java时间类库Timer的使用方法与实例详解
1. Timer类概述
Timer类是Java中非常常用的类之一,它是专门用于在后台线程按指定时间间隔执行任务的类。如:如果你想在每个三小时提醒一次,那么可以用Timer来执行提醒任务。Timer可以在线程中执行任务,并可以在指定的时间间隔内执行任务。
2. Timer类的使用方法
Timer类一共有两个版本:
-
java.util.Timer
-
java.util.TimerTask
Timer类负责管理延迟任务的执行,TimerTask类定义了所要执行的任务。Timer没有被分配到任何线程中时,他所起作用的线程为主线程。
相对简单的定时任务可以采用Java.util.Timer类实现,在执行定时任务时,TimerTask会在延迟指定时间后执行一次,然后按照指定的间隔时间重复执行。
2.1 Timer常用方法
-
schedule(TimerTask task, long delay)
:在延迟delay毫秒后执行task任务。 -
schedule(TimerTask task, long delay, long period)
:在延迟delay毫秒后执行任务,并在之后每隔period毫秒再次执行task任务。 -
schedule(TimerTask task, Date time)
:在指定的time时间执行task任务。 -
schedule(TimerTask task, Date firstTime, long period)
:在指定的firstTime时间执行任务,并在之后每隔period毫秒再次执行task任务。 -
scheduleAtFixedRate(TimerTask task, long delay, long period)
:在延迟delay毫秒后执行task任务,并在之后每隔period毫秒再次执行task任务。另外,此方法与上述第三个方法不同的是,他在执行任务时会考虑到上一次任务执行结束所耗费的时间。
2.2 TimerTask常用方法
-
cancel()
:取消任务的执行。 -
run()
:执行任务的具体动作。
3. 常用例子
下面有几个例子,让我们来看看如何使用Timer和TimerTask类。
3.1 一次性任务
在延迟3秒之后,输出一段话。
import java.util.Timer;
import java.util.TimerTask;
public class Example1 {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println("Hello world");
}
}, 3000);
}
}
运行结果:
Hello world
3.2 多次任务
延迟1秒2秒执行第一次,之后每隔3秒执行一次。
import java.util.Timer;
import java.util.TimerTask;
public class Example2 {
public static void main(String[] args) {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println("Hello world");
}
}, 1000, 3000);
}
}
运行结果:
Hello world
Hello world
Hello world
Hello world
...
4. 总结
以上就是Java中Timer类的使用方法与实例详解。Timer和TimerTask类的简易操作,使它们成为普通Java程序员的一大利器,基本上任何操作都可以通过它们来实现。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java时间类库Timer的使用方法与实例详解 - Python技术站