5.5 go runtime Gosched使用

/**
  runtime.Gosched()用于让出cpu时间片,让出当前的goroutine的执行权限
  调度器安排其他的任务运行,并在下次某个时候从该位置恢复运行.
  
  这就像跑接力赛,A跑了一会代码遇到runtime.Gosched()就该把接力棒交给B了
  A歇着了,B继续跑。
*/
package main

import (
	"fmt"
	"runtime"
)

func  main(){
	go func(){
		for i:=0;i<6;i++{
			fmt.Println("我想跑",i)
		}
		
	}()
	
	for i:=0;i<3;i++{
		//让出时间片,先让其他协程运行,它执行完,在执行。
		runtime.Gosched()
		fmt.Println("给你了,我后跑!!!",i)
	}
	
	
}
发布了124 篇原创文章 · 获赞 94 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/h4241778/article/details/105374083
5.5