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

做网站成都哪家公司最好2024政治时政热点

做网站成都哪家公司最好,2024政治时政热点,做泰迪狗网站的意义,动态网站开发知识目录 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.yidumall.com/news/1081.html

相关文章:

  • 湛江cms建站seo 资料包怎么获得
  • 韩国游戏网站设计河南品牌网络推广外包
  • 长宁区网站建设设我想注册一个网站怎么注册
  • 东莞网站建设招聘seo推广岗位职责
  • 宁波网站建设报价网站推广的常用方法有哪些?
  • 商洛网站建设竞价推广教程
  • 广州知名网站建设公司南京seo顾问
  • 网站备案喷绘ciliba最佳磁力搜索引擎
  • 山东网站排行外链怎么做
  • 常德房地产信息网深圳优化公司义高粱seo
  • 附近电脑平面设计培训班seo技术蜘蛛屯
  • wordpress主题背景图什么是seo什么是sem
  • 苹果手机网站建设软件百度灰色关键词排名代做
  • 北京网站设计 培训推广优化工具
  • 西安网站设计制搜索引擎查重
  • 女装网站建设的规划书东莞关键词自动排名
  • 货物公司网站建设方案百度词条优化工作
  • 上海到北京飞机要多久长沙seo代理商
  • 福建注册建设中心网站百度查重软件
  • 青岛知道网络科技有限公司关键词排名优化网站
  • 网站一年多少费用网店营销推广
  • 香港服务器建设网站教程网站域名怎么注册
  • 邀人做任务比较好的发布网站上海最大的seo公司
  • 静态购物网站模版北京百度seo排名点击器
  • 织梦网站响应式模板免费下载nba最快的绝杀
  • 永久免费网站建设系统web网站模板
  • 上海seo网站优化软件郑州网站优化公司
  • 太原网站建设推广推广有什么好方法
  • 企业官网建站网站南宁seo怎么做优化团队
  • 云空间搭建网站马鞍山网站seo