我想了解 golang 如何在没有 goroutine 的情况下使用超过 1 个 CPU 和多个线程?
time go run main.go
go run main.go 281.55s user 32.68s system 166% cpu 3:08.59 total
这是活动监视器显示的内容
Go 编译器和运行时对某些操作执行自动并行化,例如内存分配、垃圾收集和一些标准库函数(例如,
sort.Sort
、sync.WaitGroup
)。即使您没有显式创建 goroutine,这些操作也会自动跨多个线程和 CPU 并行化。