TimingWheel 时间轮算法是如何实现的?( 四 )

HashedWheelBucket是一个链表,所以我们需要从head节点往下进行遍历 。如果链表没有遍历到链表尾部那么就继续往下遍历 。
获取的timeout节点节点,如果剩余轮数remainingRounds大于0,那么就说明要到下一圈才能运行,所以将剩余轮数减一;
如果当前剩余轮数小于等于零了,那么就将当前节点从bucket链表中移除,并判断一下当前的时间是否大于timeout的延迟时间,如果是则调用timeout的expire执行任务 。

【TimingWheel 时间轮算法是如何实现的?】


推荐阅读