等待n个goroutine终止

等待n个goroutine终止,第1张

等待n个goroutine终止

我已经使用WaitGroup作为此问题的解决方案。翻译您的当前代码,并附上一些日志,以明确正在发生的事情

package mainimport "sync"import "fmt"import "time"type Object struct {    //data}func (obj *Object) Update(wg *sync.WaitGroup) {    //update data    time.Sleep(time.Second)    fmt.Println("Update done")    wg.Done()    return}func main() {    var wg sync.WaitGroup    list := make([]Object, 5)    for {        for _, object := range list { wg.Add(1) go object.Update(&wg)        }        //now everything has been updated. start again        wg.Wait()        fmt.Println("Group done")    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5170820.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存