scheduleAtFixedRate()
时间: 2023-10-12 12:58:34 浏览: 164
java中timer的schedule和scheduleAtFixedRate方法区别详解
5星 · 资源好评率100%
scheduleAtFixedRate()是ScheduledExecutorService接口提供的一个方法,用于周期性地执行任务。它可以在指定的初始延迟之后,按照固定的时间间隔重复执行任务。
scheduleAtFixedRate()方法有多个重载版本,其中最常用的一种是指定任务、初始延迟和周期的版本。例如,你可以这样调用scheduleAtFixedRate()方法来安排一个任务每隔1秒执行一次:
```java
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
executor.scheduleAtFixedRate(() -> {
// 执行任务的代码
}, 0, 1, TimeUnit.SECONDS);
```
在上面的代码中,我们使用Executors工厂类创建了一个ScheduledExecutorService对象,然后调用scheduleAtFixedRate()方法来安排了一个任务。这个任务将会在0秒之后开始执行,并且每隔1秒重复执行。
需要注意的是,如果任务的执行时间超过了指定的周期,那么下一次执行将会立即开始,而不会等待上一次执行完成。
与schedule()方法类似,使用完ScheduledExecutorService之后,应该调用它的shutdown()方法来关闭它,以释放资源。
这就是关于scheduleAtFixedRate()方法的简要介绍。如果你还有其他问题,欢迎继续提问!
阅读全文