Closed Victoryship closed 6 years ago
去掉 for 死循环。
可是我需要这个for死循环来做不断循环的计时器。来重新开始每局游戏
是因为死循环的原因导致leaf不能接受客户端的消息吗?
额,不是,就是我for里面有个c := time.Tick(1 time.Second) <-c。倒计时的功能。这里面计时完了。需要立即重新一轮。我也试过用skeleton.AfterFunc(time.secondtime.Duration(0),for循环)来做。还是一样。 是因为这个死循环会导致这个模块一直执行这个操作。而不能去接收通模块的其他的消息了么
我发的这个就是按一个固定时间周期一直循环啊。
嗯嗯,那再问下skeleton.AfterFunc(time.second*time.Duration(15),func())这个能在func里获取到当前这个计时器跑了几秒和剩余几秒吗?
过正好 15 秒的时候,func 被执行,也就是 func 执行的时候,正好 15 秒。当然,如果你需要更加精确,你可以自己记录一下,因为 func 被执行可能是 15.0001 秒,也可能是 15.1 秒。
嗯嗯,谢谢大佬。我在研究下
如图中,在game模块下的heart.go初始化一个死循环。 然后xian向该模块的handlerBattle.go接受客户端请求。 发现game模块不会接收消息。一直卡在这边。如果把heart.go的死循环放到新模块,则可以正常收到。但是现在怎么把heart.go保留在game模块下