200 字
1 分钟
context 是什么 - 标准库

Go 1.7 标准库引入 context,中文译作“上下文”,准确说它是 goroutine 的上下文,包含 goroutine 的运行状态、环境、现场等信息。

context 主要用来在 goroutine 之间传递上下文信息,包括:取消信号、超时时间、截止时间、k-v 等。

随着 context 包的引入,标准库中很多接口因此加上了 context 参数,例如 database/sql 包。context 几乎成为了并发控制和超时控制的标准做法。

context.Context 类型的值可以协调多个 groutine 中的代码执行“取消”操作,并且可以存储键值对。最重要的是它是并发安全的。

与它协作的 API 都可以由外部控制执行“取消”操作,例如:取消一个 HTTP 请求的执行。

context 是什么 - 标准库
https://blog.zhequtao.com/posts/golang/go-questions/标准库/context/context-是什么/
作者
阿俊
发布于
2020-03-30
许可协议
CC BY-NC-SA 4.0

相关阅读

本主题其他内容

深入 Go runtime 源码:GMP 调度器工作机制、map 扩容与渐进式迁移、channel 收发与阻塞唤醒、interface 底层结构与类型断言、反射原理与 GC 三色标记,逐一拆解高频面试考点。