mirror of
https://gitee.com/shikong-sk/golang-study
synced 2025-04-19 09:48:04 +08:00
43 lines
509 B
Go
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()
|
|
}
|