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

旅游网站建设的摘要培训机构排名全国十大教育机构排名

旅游网站建设的摘要,培训机构排名全国十大教育机构排名,怎么打帮人 做网站开发的广告,响应式网站模板html目录 GMP 含义 设计策略 全局队列 P的本地队列 GMP模型以及场景过程 场景一 场景2 场景三 场景四 场景五 场景六 GMP 含义 协程调度器,它包含了运行协程的资源,如果线程想运行协程,必须先获取P,P中还包含了可运行的G…

目录

GMP 含义

设计策略

全局队列

P的本地队列

GMP模型以及场景过程 

场景一

场景2 

场景三

场景四

场景五

场景六


GMP 含义

协程调度器,它包含了运行协程的资源,如果线程想运行协程,必须先获取P,P中还包含了可运行的G队列。以P 为主体 运行调度逻辑

设计策略

复用线程:避免频繁的创建、销毁线程,而是对线程的复用。

1 work stealing机制

        当本线程无可运行的G时,尝试从其他线程绑定的P偷取G,而不是销毁线程。

2 hand off机制

        当本线程因为G进行系统调用阻塞时,线程释放绑定的P,把P转移给其他空闲的线程执行。

利用并行:

GOMAXPROCS设置P的数量,最多有GOMAXPROCS个线程分布在多个CPU上同时运行。GOMAXPROCS也限制了并发的程度,

比如GOMAXPROCS = 核数/2,则最多利用了一半的CPU核进行并行。

抢占:

在coroutine中要等待一个协程主动让出CPU才执行下一个协程,

在Go中,一个goroutine最多占用CPU 10ms,防止其他goroutine被饿死,

这就是goroutine不同于coroutine的一个地方。

全局G队列:

在新的调度器中依然有全局G队列,当P的本地队列为空时,优先从全局队列获取,如果全局队列为空时则通过work stealing机制从其他P的本地队列偷取G。

全局队列

全局队列(Global Queue):存放等待运行的G。出队和入队时,都需要加锁,因为是临界资源

P的本地队列

P的本地队列:同全局队列类似,存放的也是等待运行的G,存的数量有限,不超过256个。

新建G 时,G优先加入到P的本地队列,如果队列满了,会把本地队列中一半的G移动到全局队列

GMP模型以及场景过程 

场景一

P拥有G1,M1获取P后开始运行G1,G1使用go func()创建了G2,为了局部性G2优先加入到P1的本地队列。

场景2 

G1运行完成后(函数:goexit),M上运行的goroutine切换为G0,G0负责调度时协程的切换

从P的本地队列取G2,从G0切换到G2,并开始运行G2。实现了线程M1的复用。

场景三

当一个协程开辟太多的协程后,如果本地队列已经满了,把协程顺序打乱后,让一半的协程加入到全局队列中

负载均衡(把P1中本地队列中前一半的G,还有新创建G转移到全局队列)

场景四

负载均衡后,再创建协程,可以加入到本地队列

场景五

规定:在创建G时,运行的G会尝试唤醒其他空闲的P和M组合去执行。

拿的话至少从全局队列取1个g,但每次不要从全局队列移动太多的g到p本地队列,给其他p留点。

这是从全局队列到P本地队列的负载均衡

场景六

全局队列已经没有G,那m就要执行work stealing(偷取):

从其他有G的P哪里偷取一半G过来,放到自己的P本地队列。

P2从P1的本地队列尾部取一半的G,本例中一半则只有1个G4,放到P2的本地队列并执行。

为什么新的协程要加入到本地队列呢? 

缓存局部性:协程在执行过程中可能会访问某些数据或资源。将它们放在 P 的本地队列中有助于保持缓存局部性即相关的数据或资源更有可能保留在 CPU 缓存中,从而减少了访问延迟。

文章思路来自 : 刘丹冰老师 Golang修养之路

http://www.hrbkazy.com/news/161.html

相关文章:

  • 国际设计师网站有哪些网站推广方案模板
  • #NAME?黑帽seo教程
  • 做网站ui去哪儿接私活郑州网站推广公司哪家好
  • 北京seo网站内部优化免费影视软件靠什么赚钱
  • 网站app有哪些功能2021年关键词排名
  • 上海网站建设企天津关键词优化网排名
  • 上海app网络推广公司电话5年网站seo优化公司
  • postgresql做网站用什么环境网站seo优化是什么意思
  • 石家庄网站定做网络营销代运营外包公司
  • 电脑课要求的网站怎么做百度seo排名培训
  • 建设一个大型网站大概费用企业网站优化排名
  • 手机网站开发框架企业培训课程表
  • 阿里巴巴做企业网站西安网站建设公司十强
  • 个人接做网站多少钱搭建网站教程
  • 做网站如何躲过网警杭州百度代理公司
  • 网站结构有哪些类型东营网站建设哪家更好
  • 网站的页面动态需要哪些方法做济南优化seo公司
  • 莆田做网站建设建个网站费用大概多少钱一年
  • 织梦cms网站迁移广告联盟自动挂机赚钱
  • 做网站和优化共多少钱?现在做网络推广好做吗
  • 公司网站维护方案网络推广的概念
  • 北京市西城区社会建设网站企业关键词推广
  • 承德平台长春网站优化平台
  • 从网络安全角度考量_写出建设一个大型电影网站规划方案泰安百度推广电话
  • 有了域名空间服务器怎么做网站seo查询源码
  • 无锡网站建设制作公司搜狗推广登陆
  • 微网站与微信网站外贸网站
  • 白银市建设网站广西seo关键词怎么优化
  • 做外贸哪些网站可以找客户交换链接是什么意思
  • 网站做的好的百度关键词优化怎么做