超哥前端记录
Golang 中 time.Timer 的正确释放方式:避免 goroutine 泄漏与 Reset 陷阱
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
超哥前端记录
社区首页
>
专栏
>
Golang 中 time.Timer 的正确释放方式:避免 goroutine 泄漏与 Reset 陷阱
Golang 中 time.Timer 的正确释放方式:避免 goroutine 泄漏与 Reset 陷阱
超哥前端记录
关注
发布于 2026-11-07 10:35:47
发布于 2026-11-07 10:35:47
84
0
举报
概述
在 Go 里用 time.After 或者 time.NewTimer 做超时控制几乎是日常操作,但真正把 Timer 用对的人并不多。常见问题集中在两块:一是 time.After(d) 在 select 提前返回时计时器并不会被回收,高频率调用会持续堆积临时对象,直到 d 到期才释放;二是 Timer.Reset 的语义和直觉不符,如果不清空 channel 就重置,很可能读到上一次已经触发的
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
go
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档