1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| func main() { var wg sync.WaitGroup wg.Add(2) // 因为有两个动作,所以增加2个计数
cesi_tab: for i := 0; i <= 5; i++ { for j := 0; j <= 5; j++ { if j == 4 { go func() { fmt.Println("Goroutine 2") wg.Done() // 操作完成,减少一个计数 }() break cesi_tab } fmt.Printf("i is: %d, and j is: %d\n", i, j) } } fmt.Println("ok@@@@")
go func() { fmt.Println("Goroutine 1") wg.Done() // 操作完成,减少一个计数 }()
wg.Wait() // 等待,直到计数为0 }
|