用户12771345
Go 语言中 time.Timer 重置与 Stop 的常见陷阱:从一次 goroutine 泄漏排查说起
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户12771345
社区首页
>
专栏
>
Go 语言中 time.Timer 重置与 Stop 的常见陷阱:从一次 goroutine 泄漏排查说起
Go 语言中 time.Timer 重置与 Stop 的常见陷阱:从一次 goroutine 泄漏排查说起
用户12771345
关注
发布于 2026-10-27 12:39:22
发布于 2026-10-27 12:39:22
95
0
举报
概述
在一个长连接推送服务里,每个连接都挂了一个 time.Timer 用来做空闲超时检测。逻辑很直白:每次收到客户端消息就重置定时器,如果超过 30 秒没有新消息就断开连接。上线后内存和 goroutine 数缓慢上涨,pprof 显示大量 goroutine 阻塞在 runtime.gopark,最终定位到 Timer 的重置写法有问题。很多人在使用 time.Timer 时习惯直接调用 Reset
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
go
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档