我是否需要明确停止其参考已被重新分配的股票代码?

时间:2016-11-15 01:24:20

标签: go

我使用time.Ticker定期做一些事情。我希望能够更改stuff发生的频率:

for {
        select {
        case <-ticker.C:
            //do stuff
        case t := <-newTicker:
            oldTicker := ticker
            ticker = t
            oldTicker.Stop()
        }
    }

我是否需要清除代码以避免内存泄漏,或者重新分配ticker

case ticker := <-newTicker:

够了吗?

1 个答案:

答案 0 :(得分:2)

根据JimB包GoDoc提及time

time.NewTicker下,提到以下内容。

  

停止代码以释放相关资源。

如果您运行oldTimer.Stop()oldTicker将在退出案例陈述后收集垃圾,因为它超出了范围。