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

南京网站建设哪里好seo刷点击软件

南京网站建设哪里好,seo刷点击软件,ps网页设计怎么做,好搜客网站为什么需要协程? 协程用来更加精细地利用线程,支撑超高的并发的。协程,从 runtime 的角度看,协程就是一个被调度的 g 结构体。 G 就是协程,M 是线程,P 是为了优化多线程并发时,会抢夺协程队列的…

为什么需要协程?

协程用来更加精细地利用线程,支撑超高的并发的。协程,从 runtime 的角度看,协程就是一个被调度的 g 结构体。

G 就是协程,M 是线程,P 是为了优化多线程并发时,会抢夺协程队列的全局锁问题,很多资料称为 ”处理器“,它是介于 M 与 G 中介的。

会有多个 M 去全局队列获取 G 来执行,这个全局是个大锁,锁冲突比较严重。

P 作用登场:

  • M 与 G 之间的中介,处理器
  • P 持有一些 G,使得每次获取 G 的时候不用每次去全局队列获取,减少了并发冲突

如果本地 P 队列 和 全局队列也没有 G,这时候会有一个窃取可能,他会去其他线程持有的G,拿来执行。

新建的协程,优先将新的协程放入 P 的 runnext(插队),若 P 本地队列满了,放入全局队列。

基于系统调用和主动挂起,协程可能无法调度,以下解决方案

基于协作的抢占式调度:业务主动调用 morestack()

前面执行G的线程是个大任务,可能需要执行很久,导致其他协程饥饿。

基于信号的抢占式调度:强制线程调用 doSigPreempt()

假如一个函数执行某业务很长,永远不会调用 runtime.morestack() ,怎么办?

解决方案:基于信号的抢占式调度。就是操作系统中,有很多基于信号的底层通信方式如:SIGPIPE/SIGURG/SIGHUP 等,线程可以注册对应的信号的处理函数,可以实现马上跳转某些个方法执行其他业务了。

注册的信号处理函数(doSigPreempt),当垃圾回收器向循环线程发起 “抢占信号” 之后,陷入在执行业务方法的线程会立即跳到信号抢占方法(doSigPreempt()),做重新调度循环。

如果业务方法不调用 runtime.morestack(),可利用垃圾回收器的线程发送 SIGURG 信号,让这个业务方法强制跳到 信号处理函数 (doSigPreempt() ),重新回到 调度循环(Schedule),这样比较大的协程放在队列里面,优先调度饥饿的协程了。

http://www.hkea.cn/news/762797/

相关文章:

  • 合肥网站建设平台小程序怎么引流推广
  • 做网站被拘留免费找客源软件
  • 门户型网站建设百度seo快速提升排名
  • 印度做杂质的网站如何进行网络推广
  • 建设厅八大员兴安盟新百度县seo快速排名
  • 南京网站建设索q.479185700小说排行榜百度
  • 幼儿做爰网站seo工程师是什么职业
  • 申请空间 建立网站吗西安百度推广运营
  • 做花馍网站百度联盟
  • 沈阳建设企业网站google浏览器官网
  • 毕业论文 网站开发营销qq下载
  • 建网站要多长时间外贸网站优化
  • 苹果网站做的好的点电脑培训网上免费课程
  • 做网站开源互联网优化是什么意思
  • 模仿做网站b站上海热点新闻
  • phpcmsv9网站地图地推的60种方法
  • 湖南手机版建站系统哪个好百度网盘app怎么打开链接
  • asp网站开发的实训报告电商营销推广有哪些?
  • 交互设计流程外贸网站优化公司
  • 网络营销网站策划个人网站seo入门
  • 云南省网站备案要求全渠道营销的概念
  • 装修网站合作平台有哪些torrentkitty磁力猫
  • 大理网站开发长春seo结算
  • 西双版纳疫情最新情况seo营销的概念
  • 网站推广seo蜘蛛屯优化排名模板建网站价格
  • 怎样建设公司网站小程序b2b网站大全免费
  • 百度抓取不到网站百度识图搜索图片来源
  • 企业网站栏目规划的重要性网络营销的概述
  • 公司网站建设找谁做免费发布推广信息网站
  • 虚拟币网站开发seo百度关键字优化