任何人都可以告诉我通过给出一个简单的例子代码是如何等待组工作或者可以实现(更好,如果它被赋予例如像这样)?谢谢。
2 回答
倚天杖
TA贡献1828条经验 获得超3个赞
稍等片刻就可以看到它就像一个堆栈,您将一个项目放在堆栈上,然后当任务完成时,将其弹出。WaitGroup将保存代码,直到堆栈为空。请参阅下面的代码,以获取一个示例,该示例应该可以提供帮助。它旨在管理作为go函数的多线程行为...
package main
import ("sync")
var (wg sync.WaitGroup )
func main() {
wg.Add(1). //Push 1
go func() {
// Do some code here
wg.Done() //pop 1
}()
wg.Add(1) //Push 1
go func() {
// Do some code here
wg.Done() //pop 1
}()
wg.Add(1) //Push 1
go func() {
// Do some code here
wg.Done() //Pop 1
}()
wg.Wait() // Until no more items to pop.
//Do the rest of your code here.
}
- 2 回答
- 0 关注
- 226 浏览
添加回答
举报
0/150
提交
取消