package main import ( "fmt" "runtime" "sync" "time" ) func main() { fmt.Printf("当前Go版本:%s\n", runtime.Version()) // 设置P的数量为2 runtime.GOMAXPROCS(1) // 再获取当前值 fmt.Printf("CPU 核心数: %d, GOMAXPROCS: %d\n", runtime.NumCPU(), runtime.GOMAXPROCS(-1)) var wg sync.WaitGroup startTime := time.Now() // 创建4个CPU密集型任务 for i := 0; i < 4; i++ { wg.Add(1) go func(id int) { defer wg.Done() // 模拟CPU密集型计算 sum := 0 for j := 0; j < 1000000000; j++ { sum += j } fmt.Printf("任务%d 完成,耗时: %v\n", id, time.Since(startTime)) }(i) } wg.Wait() fmt.Printf("总耗时: %v\n", time.Since(startTime)) }