用户12771345
Go 服务里用 context 取消后台任务时,为什么你的 goroutine 还在跑?
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户12771345
社区首页
>
专栏
>
Go 服务里用 context 取消后台任务时,为什么你的 goroutine 还在跑?
Go 服务里用 context 取消后台任务时,为什么你的 goroutine 还在跑?
用户12771345
关注
发布于 2026-11-13 10:07:40
发布于 2026-11-13 10:07:40
36
0
举报
概述
写 Go 服务时经常把耗时操作丢到后台 goroutine 里,然后用 context.WithCancel 或 WithTimeout 控制生命周期。但不少人在压测或排查内存泄漏时会发现,请求早就返回了,后台的 goroutine 却一直挂着,数据库连接数缓慢上涨,甚至关闭服务时卡在等待超时。问题通常不在 context 本身,而是取消信号只传到了函数入口,没有继续往下传,或者某些阻塞调用根本不
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
go
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档