package main
import (
"fmt"
"sync"
)
var wg = sync.WaitGroup{}
func helloSun() {
fmt.Println("hello Sun")
wg.Done() // 计数器-1
}
func main() {
// main_1()
main_10000()
}
func main_1() {
wg.Add(1) // 计数器+1
go helloSun()
fmt.Println("hello main")
wg.Wait() // 阻塞等待计数器归零再结束
}
// 并发10000并使用匿名函数
func main_10000() {
wg.Add(10000) // 直接到10000
for i := 0; i < 10000; i++ {
go func(i int) {
fmt.Println("hello ", i) // i必须从匿名函数中传入
wg.Done() // 计数器-1
}(i)
}
fmt.Println("hello main")
wg.Wait() // 阻塞等待计数器归零再结束
}
正在学习Go语言的PHP程序员。