引用:jevensonv 发表于 2019-12-02 15:55 对于第一个问题,我感觉它比较类似秒钟、分钟、时钟;第一层tickMS=1ms, timingwheel=20,第二层的一格就相当于第一层的一轮(可以理解为第一层转一圈,第二层才转一格),所以tickMS=20ms, timingwheel=20;以此类推,第三层的一格相当于第二层的一圈,即tickMS=400ms, timingwheel=20。所以180ms位于第二层[180, 200]这个区间,所以是第8个格子。 不知道我的理解有没有问题,希望对你有帮助 |
博主,你好,没看明白TimingWheel: 1,如果tickMs=1ms,wheelSize=20,那么便能计算出此时的时间是以20ms为一转动周期, 180ms的任务为何会升级到第二层的#8时间格?第一层是20ms,第二层应该是40ms才对 所以600ms这个也不太理解 2,假设当前时间currentTime为11:49:50,订单派发时间dispatchTime为11:49:57,那么时间轮的时间格#7中 为什么是#7?tickMs不是等于1吗,相差7秒,就是700ms,已经超过了时间跨度600ms 麻烦博主解答一下,不胜感激 |
先收藏,以后碰到类似的问题可以参考参考了 |