Java中的scheduleatfixedrate怎么使用

avatar
作者
猴君
阅读量:1

在Java中,可以使用ScheduledExecutorService接口的scheduleAtFixedRate方法来定期执行一个任务。该方法接受四个参数:要执行的任务、延迟执行时间、任务执行周期和时间单位。

下面是一个使用scheduleAtFixedRate方法的示例代码:

import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit;  public class ScheduleAtFixedRateExample {     public static void main(String[] args) {         ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);          // 创建一个Runnable任务         Runnable task = () -> {             System.out.println("Task executed at " + System.currentTimeMillis());         };          // 延迟1秒后开始执行任务,然后每隔2秒执行一次         executor.scheduleAtFixedRate(task, 1, 2, TimeUnit.SECONDS);          // 等待一段时间后停止任务         try {             Thread.sleep(10000);         } catch (InterruptedException e) {             e.printStackTrace();         }          executor.shutdown();     } } 

在上面的示例中,我们首先创建了一个ScheduledExecutorService对象,然后定义了一个Runnable任务。然后,我们使用scheduleAtFixedRate方法来执行该任务,指定了延迟执行时间(1秒)和任务执行周期(2秒)。

最后,我们使用Thread.sleep方法等待10秒后停止任务,并通过调用executor.shutdown方法来关闭ScheduledExecutorService。

注意:在实际应用中,可能需要根据具体的需求来调整延迟执行时间和任务执行周期。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!