NumCPU

获取cpu数量

  1. cpu:= runtime.NumCPU()
  2. fmt.Println(cpu)

GOMAXPROCS

单线程执行

  1. package main
  2. import (
  3. "fmt"
  4. "runtime"
  5. "sync"
  6. )
  7. func main() {
  8. runtime.GOMAXPROCS(1)
  9. var sum int
  10. var i int
  11. var wg sync.WaitGroup
  12. wg.Add(1)
  13. for{
  14. if i<100000{
  15. go func() {
  16. sum = sum+1
  17. }()
  18. i++
  19. }else {
  20. wg.Done()
  21. break
  22. }
  23. }
  24. wg.Wait()
  25. fmt.Println(sum)
  26. }

执行结果

  1. 100000

将上面代码中的runtime.GOMAXPROCS(1) 删除,再次执行程序