go多线程示例
1,go多线程示例
package main
import (
"fmt"
"sync"
)
func main() {
// 创建一个等待组,用于等待所有goroutine完成
var wg sync.WaitGroup
// 设置要创建的goroutine数量
numGoroutines := 5
// 增加等待组的计数器
wg.Add(numGoroutines)
// 启动多个goroutine
for i := 0; i < numGoroutines; i++ {
go func(id int) {
// 在goroutine中执行任务
fmt.Println("Goroutine", id, "开始执行")
// ...
// 减少等待组的计数器
wg.Done()
}(i)
}
// 等待所有goroutine完成
wg.Wait()
fmt.Println("所有Goroutine执行完成")
}