ГоДок говорит
Остановите бегущую строку, чтобы освободить связанные ресурсы
Однако кадр стека уничтожается, и GC собирает выделенный ресурс для этого кадра. Если мы не сделаем ticker.Stop()
, как насчет выделенного ресурса, связанного с тикером? Как следующий код:
func startReloader(duration time.Duration, reloader an_sync.IReloader, datasource string) {
ticker := time.NewTicker(duration / 10)
<-ticker.C
//dosomething here
}
//here is ticker struct
type Ticker struct {
C <-chan Time // The channel on which the ticks are delivered.
r runtimeTimer
}
У нас все еще есть утечка памяти?