美文网首页
JUC 之定时器 Timer 无限期重复执行任务

JUC 之定时器 Timer 无限期重复执行任务

作者: Tinyspot | 来源:发表于2023-11-04 15:15 被阅读0次

1. 指定间隔周期无限循环执行

Timer.schedule(TimerTask task, long delay, long period) 源码

public class Timer {
    /**
     * task – task to be scheduled.
     * delay – delay in milliseconds before task is to be executed.
     * period – time in milliseconds between successive task executions.
     */
    public void schedule(TimerTask task, long delay, long period) {
        if (delay < 0)
            throw new IllegalArgumentException("Negative delay.");
        if (period <= 0)
            throw new IllegalArgumentException("Non-positive period.");
        sched(task, System.currentTimeMillis()+delay, -period);
    }
}

2. 例程

/**
 * 按指定的间隔周期无限循环地执行某一任务
 */
@Test
public void periodSchedule() throws Exception {
    log.info("开始时间:" + System.currentTimeMillis());
    Timer timer = new Timer();
    timer.schedule(new TimerTask() {
        @Override
        public void run() {
            log.info("任务执行:" + System.currentTimeMillis());
        }
    }, 3000, 2000);

    TimeUnit.SECONDS.sleep(Integer.MAX_VALUE);
}

打印结果:

15:09:52.098 [main] INFO juc.TimerDemo - 开始时间:1699168192094
15:09:55.116 [Timer-0] INFO juc.TimerDemo - 任务执行:1699168195116
15:09:57.108 [Timer-0] INFO juc.TimerDemo - 任务执行:1699168197108
15:09:59.108 [Timer-0] INFO juc.TimerDemo - 任务执行:1699168199108

相关文章

  • Flutter -- 11.Timer

    1.关于Timer Flutter中的定时器 任务添加在事件队列 Timer异步执行 2.Timer延迟执行任务 ...

  • Timer定时器

    主要两个要点: 实现指定时间执行任务 实现按照指定周期执行任务 定时器Timer的使用 JDK中Timer类主要负...

  • iOS Timers使用

    timer(定时器)提供了一种方式去延迟执行任务和周期性执行任务. timer会一直等待,直到具体的时间间隔到达,...

  • GCD定时

    1.单一定时器 2.重复定时器 //1.声明timer@property (nonatomic,strong)di...

  • Java 定时器

    Java 定时器 1. 概述 Timer 可以按计划执行重复的任务或者定时执行指定任务,这是因为 Timer 内部...

  • 【golang】定时器的使用

    一.一次性定时器Timer,定时器停止timer.Stop(),定时器重置timer.Reset() 二.周期定时...

  • CS193笔记 第十三讲 定时器和动画

    定时器(Timer)定时器就是在约定的某个时间一次性或重复地执行某个闭包。定时器在main queue执行, 动画...

  • Timer定时器

    Timer定时器

  • 定时器 Timer

    定时器 Timer [toc] 定时器 Timer 的使用 Timer 类主要负责计划任务的功能,也就是在指定时间...

  • Kafka技术内幕: 层级时间轮

    层级时间轮 3.4.4 定时器Timer 那么Kafka的Timer定时器是如何存储DelayedOperatio...

网友评论

      本文标题:JUC 之定时器 Timer 无限期重复执行任务

      本文链接:https://www.haomeiwen.com/subject/wziridtx.html