I'm using time.Ticker
to do some stuff at a regular interval. I want to be able to change the frequency that stuff
happens at:
for {
select {
case <-ticker.C:
//do stuff
case t := <-newTicker:
oldTicker := ticker
ticker = t
oldTicker.Stop()
}
}
Do I need that ticker cleanup to avoid a memory leak, or will reassigning ticker
like
case ticker := <-newTicker:
be enough?
As JimB
mentioned as per time
package GoDoc.
Under time.NewTicker
, the following is mentioned.
Stop the ticker to release associated resources.
Provided you run oldTimer.Stop()
, oldTicker
will get garbage collected after exiting the case statement as it's out of scope.