【发布时间】:2017-05-09 02:26:42
【问题描述】:
当上下文变量超出范围并且没有显式调用取消时,context.Done() 是否会解除阻塞?
假设我有以下代码:
func DoStuff() {
ctx, _ := context.WithCancel(context.Background())
go DoWork(ctx)
return
}
在 DoStuff() 中返回后,ctx.Done() 会在 DoWork 中解除阻塞吗?
我发现了这个线程,https://groups.google.com/forum/#!topic/golang-nuts/BbvTlaQwhjw,询问如何使用 Context.Done() 的人声称 context.Done() 将在上下文变量离开范围但没有人验证时解除阻塞,而我没有在文档中查看任何内容。
【问题讨论】:
-
我认为您认为提出此建议的人只是在询问它是否会自动取消而不是声明任何内容。
标签: go