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

网站互动功能微信管理系统登录入口

网站互动功能,微信管理系统登录入口,抚州哪里有做企业网站的公司,深圳高端做网站公司线程数过多,意味着操作系统会不断地切换线程,频繁的上下文切换就成了性能瓶颈.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.15wanjia.com/news/9462.html

相关文章:

  • 目前专业做水果的网站有哪些百度空间登录
  • wordpress 导出 新闻百度seo排名优化教程
  • 苏州pc网站开发云优化seo软件
  • 咸阳做网站托管百度seo是什么
  • 杭州网站app开发公司长沙市云网站建设
  • 温州专业网站建设今日时政新闻
  • 给网站做优化刷活跃要收费吗网络推广服务协议
  • 延安网站建设电话我想在百度发布信息
  • 做兼职什么网站最靠谱吗百度推广助手客户端
  • 个人网站的设计师网络营销外包推广定制公司
  • 云南手机网站制作优化设计全部答案
  • 沈阳网站建设培训学校活动软文怎么写
  • wordpress内容溢出合肥网站优化搜索
  • 河南网络科技网站建设关键词全网搜索指数
  • 免费做网站的方法百度云网盘网页版
  • 天津做网站的企业电子商务网站建设论文
  • 更改网站标题seo推广技术培训
  • 公司网站建设合同手机百度ai入口
  • 哪些网站做的好处和坏处免费模式营销案例
  • 网站做多大尺寸免费com网站域名注册
  • 口碑好的聊城网站建设郑州搜狗关键词优化顾问
  • 抚顺 网站建设网络营销是做什么的
  • 咸宁网站建设哪家好会计培训
  • 旅游门户网站模板下载学生个人网页制作成品
  • 政府网站是哪个建设的网站关键词提升
  • 东莞做网站要多少钱国际新闻界期刊
  • 宿松做网站精准营销系统价值
  • 重庆联通的网站建设安康seo
  • 网站开发软件学习朋友圈广告投放价格表
  • 检测网站开发语言广州百度seo优化排名