可以使用Java自带的ScheduledExecutorService来实现定时任务。

示例代码如下:

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class ScheduledTaskExample {

    public static void main(String[] args) {
        ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
        int delay = 0; // 延迟0秒开始执行任务
        int interval = 2; // 每2小时执行一次任务
        int repeatCount = 9; // 总共执行9次任务

        executor.scheduleAtFixedRate(new Runnable() {
            int count = 1;

            @Override
            public void run() {
                if (count <= repeatCount) {
                    // 执行任务的代码
                    System.out.println('执行第' + count + '次任务');
                    count++;
                } else {
                    executor.shutdown(); // 任务执行完毕后关闭Executor
                }
            }
        }, delay, interval, TimeUnit.HOURS);
    }
}

上述代码中,使用了ScheduledExecutorService的scheduleAtFixedRate方法来实现定时任务。其中,第一个参数是要执行的任务,第二个参数是任务开始执行的延迟时间,第三个参数是任务执行间隔时间,第四个参数是时间间隔的单位。在任务执行时,可以根据需要进行计数,当执行次数达到设定的总数时,关闭Executor。

以上代码中,任务的执行时间是每2小时执行一次,总共执行9次任务。如果需要在早上9点开始执行任务,可以将delay设为相应的延迟时间。

Java 定时任务:早上9点到下午1点执行9次

原文地址: https://www.cveoy.top/t/topic/m3Mu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录