0.1 Context 的作用
-
取消传播 (Cancellation Propagation):
- 这是
context
最核心和最常用的功能。当一个操作因为某种原因(例如,用户取消了请求、上游服务超时或出错、父操作不再需要结果)需要被终止时,可以使用context
来通知所有相关的、为此操作派生出来的 Goroutine 停止它们的工作。 - 这有助于避免不必要的资源消耗(如 CPU、内存、网络连接),并及时释放资源。例如,一个 HTTP 请求可能触发多个后台 Goroutine 去查询数据库、调用其他微服务等。如果客户端断开了连接,服务器应该能够取消这些后台任务。
- 这是
-
超时控制 (Timeout/Deadline Management):