- #go
- #concurrency
- #goroutine-leak
- #ticker
- #context
Bẫy time.Ticker trong Go: Ngăn goroutine leak và dừng ticker đúng cáchGo time.Ticker Pitfall: Prevent Goroutine Leaks and Properly Stop Tickers
Giải thích nguyên nhân goroutine leak khi dùng time.Ticker và cách dùng context, defer, và stop để giải quyết. Áp dụng ngay trong code Go của bạn.Explain why goroutine leaks happen with time.Ticker and how to use context, defer, and Stop to fix them. Apply the pattern to your Go code today.
Mục lụcContents· 6
Bạn đang viết một service Go để thu thập metrics mỗi giây. Đoạn mã dưới đây trông rất gọn:
func startMetrics() {
for range time.Tick(1 * time.Second) {
collect()
}
}Nhưng khi service bị restart hoặc khi container dừng, các goroutine vẫn còn chạy trong nền, gây tăng CPU và

