Class TimingWheel

java.lang.Object
org.aoju.bus.cron.timings.TimingWheel

public class TimingWheel extends Object
多层时间轮,常用于延时任务 时间轮是一种环形数据结构,由多个槽组成,每个槽中存放任务集合 一个单独的线程推进时间一槽一槽的移动,并执行槽中的任务
Since:
Java 17+
Version:
6.5.0
Author:
Kimi Liu
  • Constructor Details

    • TimingWheel

      public TimingWheel(long tickMs, int wheelSize, Consumer<TimerTaskList> consumer)
      构造
      Parameters:
      tickMs - 一个时间槽的范围,单位毫秒
      wheelSize - 时间轮大小
      consumer - 任务处理器
    • TimingWheel

      public TimingWheel(long tickMs, int wheelSize, long currentTime, Consumer<TimerTaskList> consumer)
      构造
      Parameters:
      tickMs - 一个时间槽的范围,单位毫秒
      wheelSize - 时间轮大小
      currentTime - 当前时间
      consumer - 任务处理器
  • Method Details

    • addTask

      public boolean addTask(TimerTask timerTask)
      添加任务到时间轮
      Parameters:
      timerTask - 任务
      Returns:
      是否成功
    • advanceClock

      public void advanceClock(long timestamp)
      推进时间
      Parameters:
      timestamp - 推进的时间