golang-study/base/goroutine/gomaxprocs/main.go
2021-11-08 23:58:54 +08:00

43 lines
509 B
Go

package main
import (
"fmt"
"runtime"
"sync"
)
var wg = new(sync.WaitGroup)
func a() {
defer func() {
wg.Done()
}()
for i := 0; i < 10; i++ {
fmt.Printf("A: %d\n", i)
}
}
func b() {
defer func() {
wg.Done()
}()
for i := 0; i < 10; i++ {
fmt.Printf("B: %d\n", i)
}
}
func main() {
// goroutine 初始栈大小为2k
// 设置 最大 线程数
// 默认为 CPU 线程数
// 线程过多会增加 上下文切换负担
runtime.GOMAXPROCS(1)
wg.Add(2)
go a()
go b()
wg.Wait()
}