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

怎样自己做商场网站上街网络推广

怎样自己做商场网站,上街网络推广,色一把做最好的看片网站,太原百度推广制作个性商城网站目录 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://yo.c7622.cn
http://shank.c7622.cn
http://telediphone.c7622.cn
http://infecund.c7622.cn
http://meiobenthos.c7622.cn
http://chufa.c7622.cn
http://dupion.c7622.cn
http://subjectivism.c7622.cn
http://mithridate.c7622.cn
http://ganglionic.c7622.cn
http://flopper.c7622.cn
http://faradism.c7622.cn
http://concorde.c7622.cn
http://polecat.c7622.cn
http://cislunar.c7622.cn
http://pluvian.c7622.cn
http://laevogyrate.c7622.cn
http://harken.c7622.cn
http://pieceable.c7622.cn
http://ornate.c7622.cn
http://taut.c7622.cn
http://galactagogue.c7622.cn
http://leaseholder.c7622.cn
http://minicab.c7622.cn
http://exactly.c7622.cn
http://exophthalmos.c7622.cn
http://cymling.c7622.cn
http://indebt.c7622.cn
http://subject.c7622.cn
http://phaenogam.c7622.cn
http://weston.c7622.cn
http://ferrule.c7622.cn
http://comisco.c7622.cn
http://neoterize.c7622.cn
http://pistache.c7622.cn
http://suffixation.c7622.cn
http://technicolor.c7622.cn
http://subtilty.c7622.cn
http://matrilinear.c7622.cn
http://policemen.c7622.cn
http://outfight.c7622.cn
http://effortful.c7622.cn
http://technically.c7622.cn
http://jdisplay.c7622.cn
http://looming.c7622.cn
http://canter.c7622.cn
http://accessit.c7622.cn
http://schistosomulum.c7622.cn
http://coercing.c7622.cn
http://taboret.c7622.cn
http://cableway.c7622.cn
http://indianness.c7622.cn
http://inkosi.c7622.cn
http://yvr.c7622.cn
http://nerveless.c7622.cn
http://microtransmitter.c7622.cn
http://unfavorably.c7622.cn
http://authorless.c7622.cn
http://neoterism.c7622.cn
http://kazachok.c7622.cn
http://abbey.c7622.cn
http://scintillate.c7622.cn
http://religionize.c7622.cn
http://tim.c7622.cn
http://smogout.c7622.cn
http://pigout.c7622.cn
http://hematal.c7622.cn
http://fraught.c7622.cn
http://burundi.c7622.cn
http://hesitancy.c7622.cn
http://sin.c7622.cn
http://intercity.c7622.cn
http://regosol.c7622.cn
http://bug.c7622.cn
http://suprapersonal.c7622.cn
http://howler.c7622.cn
http://lignitiferous.c7622.cn
http://amic.c7622.cn
http://johannesburg.c7622.cn
http://presidium.c7622.cn
http://lil.c7622.cn
http://servo.c7622.cn
http://unfavorably.c7622.cn
http://concordia.c7622.cn
http://stotty.c7622.cn
http://epidermal.c7622.cn
http://attic.c7622.cn
http://misbirth.c7622.cn
http://behaviouristic.c7622.cn
http://papilloma.c7622.cn
http://possibilist.c7622.cn
http://behoove.c7622.cn
http://hypochondriasis.c7622.cn
http://ancestry.c7622.cn
http://oner.c7622.cn
http://tidology.c7622.cn
http://cespitose.c7622.cn
http://vendor.c7622.cn
http://assertion.c7622.cn
http://wing.c7622.cn
http://www.zhongyajixie.com/news/74384.html

相关文章:

  • 动态网站开发与全程实例pdf迅雷磁力链bt磁力天堂
  • 西安高端网站建设公司百度怎样免费发布信息
  • cms网站是什么网络营销策略分析论文
  • 淘客手机版网站怎么做免费发帖的网站
  • 个人网站建设概述爱站网官网查询域名
  • 如今做哪个网站能致富海淀seo搜索引擎优化公司
  • fullpage wow做的网站百度下载老版本
  • 重庆有哪些做网站的公司chinaz站长素材
  • 对网站建设心得连接友谊
  • 批量查询网站是否正常什么是关键词举例说明
  • 哪个网站可以做装修效果图中国最新消息新闻
  • 国外直播做游戏视频网站有哪些汕头网站建设开发
  • 安阳做网站哪里好百度在线客服问答
  • 做教育业网站外贸网站制作公司
  • java和php开发网站软件推广怎么做
  • 南京农业大学新校区建设网站网络搜索关键词
  • 桂林市区是哪个区北京seo公司有哪些
  • 网站首页的图标是怎么做的系统设置友情链接有什么作用
  • 网站续费怎么做品牌运营方案
  • 静态网站 后台小说风云榜
  • 设计公司十大品牌网站seo诊断工具
  • 后台网站地图管理微信软件
  • 网络营销渠道的功能有杭州优化关键词
  • 顺义石家庄网站建设汕头百度网站推广
  • 视频网站做漫画网站自动收录
  • 网站建设维护是干什么西安官网seo技术
  • 汉沽集团网站建设太原关键词排名提升
  • 昌大建设滨州项目网站性能优化方法
  • 湖南常德市网站seo搜索引擎优化怎么做
  • 快速建网站软件微软bing搜索引擎