创建上下文复制,在GO
go 1.21将无限制函数引入了上下文包。此功能使您可以创建一个新的上下文,该上下文从原始上下文中继承了所有值,但可以免于其取消:导入“上下文” //如果没有康费赛返回永远不会取消的上下文。 func not cancancel(ctx context.context)context.context { 返回context.withvalue(context.background(),context.nocancel {},struct {} {}) }
func handler(ctx context.context)(interface {},error){ 结果:= dostuff(CTX) newContext:= context.withoutcancel(ctx) go func(){ Dosomethingelse(newContext) }() 返回结果 } [&& && && &&& && && &&华氏度现在,新的Goroutine将使用原始上下文的副本进行操作,而原始上下文是原始上下文时不会被取消的。这提供了管理异步任务的寿命所需的灵活性和控制。免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3