我使用time.Ticker
定期做一些事情。我希望能够更改stuff
发生的频率:
for {
select {
case <-ticker.C:
//do stuff
case t := <-newTicker:
oldTicker := ticker
ticker = t
oldTicker.Stop()
}
}
我是否需要清除代码以避免内存泄漏,或者重新分配ticker
case ticker := <-newTicker:
够了吗?
答案 0 :(得分:2)
根据JimB
包GoDoc提及time
。
在time.NewTicker
下,提到以下内容。
停止代码以释放相关资源。
如果您运行oldTimer.Stop()
,oldTicker
将在退出案例陈述后收集垃圾,因为它超出了范围。