Skip to content

Latest commit

 

History

History
19 lines (16 loc) · 363 Bytes

waitgroup.md

File metadata and controls

19 lines (16 loc) · 363 Bytes

sync.WaitGroup 不是引用类型

WaitGroup 对象不是引用类型,在通过函数传递时需要使用其指针,否则会进入死锁状态。

func work(id int, wg *sync.WaitGroup) {
  fmt.Println("work: id=", id)
  wg.Done()
}

func main() {
  var wg sync.WaitGroup
  wg.Add(10)
  for i:=0; i<10; i++ {
    go work(i, &wg)
  }
  wg.Wait()
}