资料内容:
图中,有8个时间格(槽),假设每个时间格的单位为100ms,那么整个时间轮走完一圈需要800ms。 每100ms指针会沿着顺时针方向移动一个时间单位, 这个单位可以代表时间精度 这个单位可以设置, 比如以秒为单位,也可以以一小时为单位。 通过指针移动,来获得每个时间格中的任务列表,然后遍历这一个时间格中的双向链表来执行任务,以 此循环。
时间轮是以时间作为刻度, 组成的一个环形队列,这个环形队列采用数组来实现, 数组的每个元素称为槽 Bucket,
资料内容:
图中,有8个时间格(槽),假设每个时间格的单位为100ms,那么整个时间轮走完一圈需要800ms。 每100ms指针会沿着顺时针方向移动一个时间单位, 这个单位可以代表时间精度 这个单位可以设置, 比如以秒为单位,也可以以一小时为单位。 通过指针移动,来获得每个时间格中的任务列表,然后遍历这一个时间格中的双向链表来执行任务,以 此循环。
时间轮是以时间作为刻度, 组成的一个环形队列,这个环形队列采用数组来实现, 数组的每个元素称为槽 Bucket,