首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Go 服务里用 context 取消后台任务时,为什么你的 goroutine 还在跑?

Go 服务里用 context 取消后台任务时,为什么你的 goroutine 还在跑?

作者头像
用户12771345
发布于 2026-11-13 10:07:40
发布于 2026-11-13 10:07:40
360
举报
概述
写 Go 服务时经常把耗时操作丢到后台 goroutine 里,然后用 context.WithCancel 或 WithTimeout 控制生命周期。但不少人在压测或排查内存泄漏时会发现,请求早就返回了,后台的 goroutine 却一直挂着,数据库连接数缓慢上涨,甚至关闭服务时卡在等待超时。问题通常不在 context 本身,而是取消信号只传到了函数入口,没有继续往下传,或者某些阻塞调用根本不

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档