-
Gosched()
当前协程等待执行,直到其他协程执行完毕后自动恢复,只有单核心时有效。 -
Goexit()
终止当前协程。 -
GOMAXPROCS(n)
设置CPU核心数/线程数,返回值是之前设置的CPU核心数。
package main
import (
"fmt"
"runtime"
)
func main() {
//设置cpu核心个数
fmt.Println(runtime.GOMAXPROCS(1))
go func() {
for i:=0;i<10;i++{
//终止所在的线程
runtime.Goexit()
fmt.Println("AAAAA")
}
fmt.Println("C")
}()
for i:=0;i<10;i++{
//让出时间片,在单核情况下会等待其他线程执行完自动恢复执行,但多核情况下不会
runtime.Gosched()
fmt.Println("BBBBBBBBBB")
}
}
网友评论