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

怎样制作自己的网站网站建设 pdf教程

怎样制作自己的网站,网站建设 pdf教程,肥东县建设局网站,第一ppt线程数过多,意味着操作系统会不断地切换线程,频繁的上下文切换就成了性能瓶颈.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/972972/

相关文章:

  • 沛县做网站中国十大软件外包公司排名
  • 商户如何做h5商城网站是什么意思如何免费制作一个自己的网站
  • 如何选择响应式网站网站的数据库选择
  • 网页设计与制作作业代码seo是什么部位
  • 织梦网站后台百度关键词搜索推广
  • 免费的网站认证网站的盈利方式
  • 无忧网站建设推荐如何做免费域名网站
  • 怎样做无水印视频网站陕西省建设厅执业资格注册中心网站报名
  • 设置网站解析网站的标题符号
  • 做门户网站难吗地方门户类网站
  • 六盘水市城乡建设局网站2003网站建设
  • 卖衣服的网站排名网络项目怎么推广
  • 西安哪里有做网站的做视频网站要用到的服务器
  • .电子商务网站建设的核心是百度一下你就知道官方网站
  • 深圳网站设计与制作微信客户端官网
  • 校园网站建设提升小程序制作需要什么条件
  • 民治专业做网站公司网络营销推广方法集锦
  • 代发网站建设教程网址域名大全2345网址
  • 网上如何做网站耒阳网站开发
  • 网站已收录的404页面的查询查网站的关键词排名吗
  • 注册网站查询官网个人网站名称备案
  • 百度公司做网站优化多少钱如何制作境外网站
  • 单页网站与传统网站的区别新营销方式有哪些
  • 如何再网站上做免费广告wordpress live-calendar
  • 揭阳建站服务基于vue的毕业设计题目
  • 北京网站搭建费用网站名和域名
  • 网站建设策划 流程linux服务器wordpress
  • 张家口高新区做网站网站怎么做前后台存取
  • 珠宝首饰网站建设规划书百度合作的网盟网站
  • 连锁酒店网站方案wordpress 简约论坛