Yui Help

定时任务

数据结构

小顶堆

时间轮算法

实现

  • 链表或数组实现时间轮

  • while - true - sleep

  • 遍历数组,每个下标存储一个链表,链表节点放置任务,遍历到了就取出执行

round型时间轮

  • 任务上记录一个round,遍历到了就将round - 1,为0就取出执行(每隔多久执行)

  • 需要遍历所有任务,效率较低

分层时间轮

  • 使用多个不同时间维度的时间轮

    • 天轮:记录几点执行

    • 月轮:记录几号执行

  • 月轮遍历到了,将任务取出放到天轮里面,即可实现几号几点执行

  • cron表达式 类似结构

Last modified: 28 十一月 2023