开发者社区> 问答> 正文

golang报错: WaitGroup is reused before previous Wait

golang报错: WaitGroup is reused before previous Wait has returned

使用WaitGroup时,大概代码:

package main

import ( "fmt" "time" "sync" )

var wg sync.WaitGroup

func f1() { time.Sleep(1 * time.Second) wg.Done() }

func main() { var i int for i=0;i<3;i++ { wg.Add(1) go f1() }
wg.Wait() fmt.Println("end...") }

展开
收起
Dynastys 2021-10-21 10:40:33 1758 0
1 条回答
写回答
取消 提交回答
  • 函数写了多个wg.Done()

    在函数开头写上defer wg.Done()或者在函数底部写上wg.Done(),保证只有一个wg.Done()。

    2021-10-21 10:41:10
    赞同 展开评论 打赏
问答分类:
Go
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里开发者手册-Golang专题 立即下载
Golang 微服务在腾讯游戏用户运营领域的探索及实践 立即下载
Go To Hunt,Then Sleep 立即下载