超时时间轮---完成

This commit is contained in:
shenkaiwen5
2021-11-16 11:29:09 +08:00
parent dc547b8feb
commit ab9b48b081

View File

@@ -98,12 +98,11 @@ public class TimeWheel {
TimerTaskList timerTaskList = timerTaskLists[index];
timerTaskList.addTask(timerTask);
if (timerTaskList.setExpiration(virtualId * tickMs)) {
//加到delayList
//TODO 改成加到list对应元素 【20槽, 时间轮层数】,这里添加前一定要初始化到对应层数
//加到delayList对应元素 【20槽, 时间轮层数】,这里添加前一定要初始化到对应层数
while (delayList.get(index).size() < overflowIndex + 1) {
delayList.get(index).add(new TimerTaskList());
}
//TODO 想办法只设置一次
//这里每次清空整个槽位的List并且flush List的元素链表所以没问题
delayList.get(index).set(overflowIndex, timerTaskList);
}
} else {