开发者社区 问答 正文

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 1830 分享 版权
1 条回答
写回答
取消 提交回答
  • 函数写了多个wg.Done()

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

    2021-10-21 10:41:10
    赞同 展开评论
问答分类:
Go
问答标签:
问答地址: