github.com/qiuhoude/go-web@v0.0.0-20220223060959-ab545e78f20d/prepare/14_concurrent/waitgroup/main.go (about)

     1  package main
     2  
     3  import (
     4  	"sync"
     5  	"time"
     6  )
     7  
     8  /*
     9  A: 不能编译
    10  B: 无输出,正常退出
    11  C: 程序hang住
    12  D: panic  答案:  sync: WaitGroup is reused before previous Wait has returned
    13  */
    14  func main() {
    15  	var wg sync.WaitGroup
    16  	wg.Add(1)
    17  	go func() {
    18  		time.Sleep(time.Millisecond)
    19  		wg.Done()
    20  		wg.Add(1)
    21  	}()
    22  	wg.Wait()
    23  }