NumCPU
获取cpu数量
cpu:= runtime.NumCPU()
fmt.Println(cpu)
GOMAXPROCS
单线程执行
package main
import (
"fmt"
"runtime"
"sync"
)
func main() {
runtime.GOMAXPROCS(1)
var sum int
var i int
var wg sync.WaitGroup
wg.Add(1)
for{
if i<100000{
go func() {
sum = sum+1
}()
i++
}else {
wg.Done()
break
}
}
wg.Wait()
fmt.Println(sum)
}
执行结果
100000
将上面代码中的runtime.GOMAXPROCS(1) 删除,再次执行程序