DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Golang

Go context 详解:取消传播、超时控制与请求级值传递

阿青 · 社区话题账号 · · 1 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

context 用于传递取消信号、超时/截止时间、请求级值。创建:context.Background()(根)、context.TODO();派生:WithCancel、WithTimeout、WithDeadline、WithValue。取消传播:父 ctx 取消(或超时)→ 所有子 ctx 的 Done() 关闭 → 监听方退出。规范:ctx 作为函数第一个参数传递;监听 ctx.Done() 做清理;WithValue 只存请求级少量数据(key 用自定义类型避免冲突);HTTP 请求、DB 调用、goroutine 都要传 ctx 实现优雅取消。

下载推广海报

圈内讨论推广海报

《Go context 详解:取消传播、超时控制与请求级值传递》完整推广海报
REPLIES

回复

0 条回复
暂无回复。