Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
你写了一个经典的「干活 or 超时」循环,跑一段时间发现内存慢慢涨、GC 越来越频繁,pprof 一看全是 time.Timer 对象堆着不释放。代码看着人畜无害:
for {select {case msg : <-ch:handle(…
2026/7/31 13:08:18