是什么
runtime.Gosched()用于让出CPU时间片,让出当前goroutime的执行权限,调度器安排其他等待任务运行,并在下次某个时候从该位置恢复执行。
就像跑接力赛,A跑了一会儿碰到代码runtime.Gosched()就把接力棒交给了B,A歇着了,B继续跑
package main
import (
"fmt"
//"time"
"runtime"
)
func main(){
go func(){
for i := 0; i < 5 ;i++{
fmt.Println("hello go")
}
}()
for i := 0; i < 2 ;i++{
//让出时间片,先让别的协程执行,它执行完,再回来执行此协程
runtime.Gosched()
fmt.Println("hello")
}
}
#结果
hello go
hello go
hello go
hello go
hello go
hello
hello
网友评论