Context
已收录文章:31篇
-
问题内容 golang context.WithValue:如何添加多个键值对? 正确答案 使用 context.WithValue 函数可以在创建一个带有 Context 的父级 Context 时,同时设置一个键值对。但是如果您需要设置多个键值497 收藏
-
Golang · Go问答 | 1星期前 | go · Context · 并发编程 · 接口超时 · 超时控制 goroutine泄漏 WithTimeout Go context Go问答 CancelFunc从接口超时、下游取消和 goroutine 泄漏治理角度,解释 Go context 的使用价值、风险边界、采用路径和观察指标。477 收藏
-
1. 前言 Golang context是Golang应用开发常用的并发控制技术,它与WaitGroup最大的不同点是context对于派生goroutine有更强的控制力,它可以控制多级的goroutine。 context翻译成中文是"上下文",即它可以控470 收藏
-
1. 基本原理 1.1 Context 包的介绍 在 Go 语言中,Context 包是用于传递请求范围数据、取消信号和截止时间的机制。它通常被用来处理 goroutine 之间的通信和取消。Context 包是 Go 语言内置的,它可以469 收藏
-
Golang · Go教程 | 1星期前 | channel · select · Context · Go教程 · 性能排查 · select channel context default time.Ticker Go教程 CPU飙高 for selectGo 里的 select default 适合做非阻塞试探,但放进无等待的 for 循环后,代码会在没有 channel 事件时持续空转,常见表现就是 CPU 飙高、日志刷屏和退出路径混乱。459 收藏
-
context在Golang的1.7版本之前,是在包golang.org/x/net/context中的,但是后来发现其在很多地方都是需要用到的,所有在1.7开始被列入了Golang的标准库。Context包专门用来简化处理单个请求的多个goroutine424 收藏
-
0 前置知识sync.WaitGroup sync.WaitGroup是等待一组协程结束。它实现了一个类似任务队列的结构,可以向队列中加入任务,任务完成后就把任务从队列中移除,如果队列中的任务没有全部完成,队列418 收藏
-
前言摘要 昨天和同事merge代码又遇到了很多冲突,发现之前有些方法写的参数不规范,没有传入Context,不方便进行链路追踪。他在review项目代码,基本把项目中的方法都加了Context参数。 今天就401 收藏
-
问题内容 golang如何通过取消context,终止函数执行? 正确答案 可以像这样: package main import ( "context" "fmt" "time" ) func main() { // 创建父级 context parentCtx := context.Background() // 创建可347 收藏
-
通过一个后端服务调用第三方接口的案例,演示 Go context.WithTimeout、defer cancel、HTTP 请求取消、错误判断和常见坑,避免接口一直等待。346 收藏
-
Golang · Go教程 | 5天前 | 错误处理 · Context · 并发控制 · Go教程 · 并发控制 Go教程 context取消 context.WithCancelCause context.Causecontext.WithCancelCause 适合在请求链路中保留明确取消原因,让子任务不只知道 context canceled,还能知道是权限拒绝、上游失败还是主动终止。落地时要区分系统取消和业务错误。342 收藏
-
golang 1.7版本中context库被很多标准库的模块所使用,比如net/http和os的一些模块中,利用这些原生模块,我们就不需要自己再写上下文的管理器了,直接调用函数接口即可实现,利用context我们可316 收藏