diff --git a/channel/basic/main.go b/channel/basic/main.go index b764178..3748da4 100644 --- a/channel/basic/main.go +++ b/channel/basic/main.go @@ -1,11 +1,15 @@ package main -import "fmt" +import ( + "fmt" + "sync" +) func main() { // unbuf() // buf() - nBuf() + // nBuf() + syncWaitGroup() } /* @@ -45,3 +49,17 @@ func nBuf() { <-done } } + +func syncWaitGroup() { + var wg sync.WaitGroup + // 开N个后台打印线程 + for i := 0; i < 10; i++ { + wg.Add(1) + go func(i int) { + fmt.Println("你好, 世界", i) + wg.Done() + }(i) + } + // 等待N个后台线程完成 + wg.Wait() +}