timer
timer copied to clipboard
如图
case <-m.ctx.Done():
// 等待所有任务结束
m.wait.Wait()
return
}
这段代码wait好像没有意义吧?没有add步骤
是的,现在没意义。应该在add的callback包个callback, wait.Add(1) wait.Done下。写漏了。
newCallback := func() {
m.wait.Add(1)
callback()
m.wait.Done()
}
在add的函数把newCallback传递下去。
是的,现在没意义。应该在add的callback包个callback, wait.Add(1) wait.Done下。写漏了。
newCallback := func() { m.wait.Add(1) callback() m.wait.Done() }在add的函数把newCallback传递下去。
还有这个atomic.AddUint32(&m.runCount, 1)应该是测试忘记删了,我觉得可以加两个方法,一个是stop 和stopnowait,以及,获取当前的node数,来得知是否时间轮任务是否全部完成