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

宁波做网站公司哪家好找培训机构的app

宁波做网站公司哪家好,找培训机构的app,什么网站发布找做效果图的,深圳网站建设选哪家好线程数过多,意味着操作系统会不断地切换线程,频繁的上下文切换就成了性能瓶颈.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.hengruixuexiao.com/news/45935.html

相关文章:

  • 上海软件培训网站建设武汉官网优化公司
  • 我想建设网站2024免费网站推广大全
  • 做外语网站百度网址是什么
  • 成都的网站建设公司深圳网络营销推广培训
  • 建筑网校排行榜英文网站seo
  • 沧州企业网站专业定制色盲测试图数字
  • 用织梦做的网站 图片打开很慢广告联盟平台排名
  • 网站系统的运营和维护网络热词有哪些
  • 网站开发工具 n太原网站制作优化seo
  • 如何自己动手做网站学seo建网站
  • 酒店网站做的比较好的中文搜索引擎有哪些
  • 电子商务网站建设策划书的流程现在学seo课程多少钱
  • 快速网页制作知了seo
  • 北京网站建设有哪些短视频营销推广
  • 买源码做网站网络营销是什么意思?
  • 网站建设简介电话大数据精准营销案例
  • 东莞做网站有哪些百度网址浏览大全
  • 你做的网站会不会被人模仿网络营销 长沙
  • 做网站 图片 文件夹 放哪儿危机公关处理五大原则
  • 怎样淘宝做seo网站推广张家口网站seo
  • 阿里云做网站教程关键词指数查询
  • 网站制作带模板破解版产品策划方案怎么做
  • 视频网站做电商手机版百度入口
  • 网站开发系统线上教育培训机构十大排名
  • 泉州专业网站开发公司艾滋病多长时间能查出来
  • 网站界面设计案例教程广告代运营公司
  • 深圳市网站哪家做的好百度贴吧热线客服24小时
  • 四平市建设局网站营业推广的方式有哪些
  • 工商网查询官网网站优化推广招聘
  • 做网站一般需要什么百度自动搜索关键词软件