Vert.x计时器
时间:2020-01-09 10:47:12 来源:igfitidea点击:
Vert.x有两种类型的计时器,可用于对代码的执行进行计时。第一种计时器类型是一次性计时器,该计时器在经过一定时间后会触发事件。第二个计时器是一个周期计时器,只要经过指定时间间隔,它就会保持触发事件。本教程将在以下各节中介绍这两种Vert.x计时器。
一次性计时器
Vert.x一次性计时器是在指定的延迟后触发一次的计时器。这是创建一次性计时器的方法:
long timerID = vertx.setTimer(3000, new Handler<Long>() { @Override public void handle(Long aLong) { System.out.println("Timer fired"); } });
setTimer()方法以毫秒为单位的时间间隔作为第一个参数,而Handler实现则作为第二个参数。时间间隔过去后,将调用Handler的handle()方法。
setTimer()方法返回一个计时器ID。该计时器ID也作为参数传递给Handler的handle()方法。如果我们想稍后取消计时器,也将使用此计时器ID。
定期计时器
Vert.x定期计时器是每次经过指定时间段时都会触发的计时器。这是创建定期计时器的方法:
long timerID = vertx.setPeriodic(3000, new Handler<Long>() { @Override public void handle(Long aLong) { System.out.println("Timer 1 fired: " + aLong); } });
setPeriodic()方法以毫秒为单位的时间间隔作为第一个参数,而Handler实现则作为第二个参数。每当时间间隔过去时,都会调用Handler的handle()方法。
setPeriodic()返回计时器ID。每当调用计时器ID时,该计时器ID也会传递给Handler的handle()方法。如果我们想稍后取消计时器,也将使用计时器ID。
取消计时器
我们可以使用" Vertx"对象的" cancelTimer()"方法取消一次性或者定期计时器。 cancel()方法可以取消一次性计时器和定期计时器。这是取消Vertx计时器的示例:
vertx.cancelTimer(timerID);