溫馨提示×

Java中的scheduleatfixedrate怎么使用

小億
105
2023-11-27 12:25:26
欄目: 編程語言

在Java中,可以使用ScheduledExecutorService接口的scheduleAtFixedRate方法來定期執(zhí)行一個任務(wù)。該方法接受四個參數(shù):要執(zhí)行的任務(wù)、延遲執(zhí)行時間、任務(wù)執(zhí)行周期和時間單位。

下面是一個使用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);

        // 創(chuàng)建一個Runnable任務(wù)
        Runnable task = () -> {
            System.out.println("Task executed at " + System.currentTimeMillis());
        };

        // 延遲1秒后開始執(zhí)行任務(wù),然后每隔2秒執(zhí)行一次
        executor.scheduleAtFixedRate(task, 1, 2, TimeUnit.SECONDS);

        // 等待一段時間后停止任務(wù)
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        executor.shutdown();
    }
}

在上面的示例中,我們首先創(chuàng)建了一個ScheduledExecutorService對象,然后定義了一個Runnable任務(wù)。然后,我們使用scheduleAtFixedRate方法來執(zhí)行該任務(wù),指定了延遲執(zhí)行時間(1秒)和任務(wù)執(zhí)行周期(2秒)。

最后,我們使用Thread.sleep方法等待10秒后停止任務(wù),并通過調(diào)用executor.shutdown方法來關(guān)閉ScheduledExecutorService。

注意:在實際應(yīng)用中,可能需要根據(jù)具體的需求來調(diào)整延遲執(zhí)行時間和任務(wù)執(zhí)行周期。

0