当前位置: 首页 > news >正文

视频网站怎么做外链百度号注册官网

视频网站怎么做外链,百度号注册官网,关键词快速排名怎么做,搜索引擎seo优化线程数过多,意味着操作系统会不断地切换线程,频繁的上下文切换就成了性能瓶颈.Go提供一种机制 可以在线程中自己实现调度,上下文切换更轻量,从而达到线程数少,而并发数并不少的效果,而线程中调度的就是Goroutine 调度器主要概念: 1.G:即Go协程,每个go关键字都会创建一个协程…

线程数过多,意味着操作系统会不断地切换线程,频繁的上下文切换就成了性能瓶颈.Go提供一种机制

可以在线程中自己实现调度,上下文切换更轻量,从而达到线程数少,而并发数并不少的效果,而线程中调度的就是Goroutine

调度器主要概念:

1.G:即Go协程,每个go关键字都会创建一个协程

2.M:工作线程

3.P:处理器,包含运行Go代码的必要资源,也有调度goroutine的能力

其中M必须拥有P才可以执行G中的代码,P含有一个包含多个G的队列,P可以调度G交由M执行

M是交给操作系统调度的线程,M持有一个P,P将G调度进M中执行.P同时还维护一个包含G的队列,可以按照一定的策略将G调度到M中执行

其中P的个数却决于,程序启动时CPU的核数,由于

Goroutine调度策略

队列轮转

P周期性的将G调度到M中执行,执行一小段时间,将上下文保存下来,然后将G放到队列尾部,然后从队列中重新取出一个G进行调度

除了每个P维护的G队列以外,还有一个全局的队列,每个P会周期性地查看全局队列中是否有G待运行并将其调度到M中执行,全局队列中G的来源,主要有从系统调用中恢复的G,之所以P会周期性地查看全局队列,防止全局队列中的G被饿死

系统调用

一般情况下M的个数会略大于P的个数,多出来的M将会在G产生系统调用时发挥作用

当G0即将进入系统调用时,M0将释放P,进而某个空闲的M1获取P,继续执行P队列中剩下的G.而M0由于陷入系统调用而被阻塞,M1接替M0的工作,只要P不空闲,就可以保证充分利用CPU.

其中M1的来源可能是M的缓存池,也可能是新建的.当G0系统调用结束后,根据M0是否获取到P.将会将G0做不同的处理:

1.如果有空闲的P,则获取一个P,继续执行G0

2.如果没有空闲的P,则将G0放入全局队列,等待被其他的P调度,然后M0将进入缓存池睡眠

工作量窃取

多个P中维护的G队列有可能是不均衡的

竖线左侧中右边的P已经将G全部执行完,然后去查询全局队列,全局队列中也没有G,而另一个M中除了正在运行的G外,队列中还有3个G待运行。此时,空闲的P会将其他P中的G偷取一部分过来,一般每次偷取一半。偷取完如右图所示

http://www.yayakq.cn/news/828022/

相关文章:

  • 企业简介范文seo推广软
  • 郑州网站建设制作费用直接打域名访问网站
  • 汕头拿家做网站建设学校网站论文
  • 网站建设平台软件哪个好用上海洛可可设计公司
  • 过界女主个人做网站的财务公司代理记账怎么收费
  • 下载的网站模版怎么用高水平高职院校 建设网站
  • 互联网站建设维护是做什么的南宁建站软件
  • 淄博网站排名外包浅谈网站页面框架设计
  • 淘客网站推广怎么做微博营销网站源码
  • 常德网站建设套餐报价网站更改关键词
  • 网站建设文字资料广州seo网站
  • 河北省两学一做网站泉州市住房和城乡建设部网站
  • 靖江网站建设价格爱做网站网址
  • 建设一个旅游电子商务网站wordpress docker
  • 广州网站seo招聘数字化平台建设
  • cad图纸免费下载网站英语学习软件
  • 企业网站模板2016成套网站建站和项目部署一样吗
  • 网络营销导向企业网站建设企业网络营销策划方案设计
  • 手工网站和自助建站式网站却别深圳哪家做网站比较好
  • 平凉市建设局网站放射科网站建设
  • 无锡网站 制作苏州网页制作招聘
  • 公司重名 做网站九江seo
  • wordpress 软件下载南宁seo按天收费
  • 浙江巨鑫建设有限公司网站广州网络推广seo
  • 上海 高端网站建设网站后台模板修改用什么软件
  • 网站建设云服务器做橡胶应该看什么网站
  • win系统做网站做一个网站的费用
  • 效果好企业营销型网站建设建筑设计是干嘛的
  • 住房建设部网站监理员html5 网站后台
  • 网站栏目设计优化方案构建电子商务网站的步骤