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

网站 建站模式wordpress订单邮件内容修改

网站 建站模式,wordpress订单邮件内容修改,网站开发 东莞,上海最新新闻头条为什么需要协程? 协程用来更加精细地利用线程,支撑超高的并发的。协程,从 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.yayakq.cn/news/156561/

相关文章:

  • 网站访问密码西安搬家公司收费价目表2021
  • 描述网站建设的具体流程专业上海网站建设公司哪家好
  • 广东网站建设968网站建设技术工具
  • 怎么建网站青州问枫莱芜官网
  • 代刷网站系统怎么做网站建设设计公司 知乎
  • 景区网站策划书万盛建设局官方网站
  • 贵州整站优化seo平台湛江网红打卡餐厅
  • 设计好网站建设一个网站报价
  • 荆门做网站的公司陕西网
  • 古镇小企业网站建设百度搜索关键词查询
  • 做译员的网站在网站建设中什么用于搭建页面结构
  • 有哪些中文域名网站功能性的网站设计制作
  • 南阳网站建设推广网站后台流程图
  • 邵阳汽车网站建设建一个网络商城的网站素材搜集预算是什么
  • 萧山网站优化短视频代运营
  • 网站整站开发视频教程移动互联网开发实训报告
  • 建设网站所采用的技术方案百度小程序怎么打开
  • 网站源码配置数据库在拿做文件的wordpress
  • 网站一般在哪建设小程序开发公司网站源码下载
  • 聊城手机网站昆山注册公司流程费用
  • wordpress嵌入flash镇江网站优化哪家好
  • wordpress 收费阅读廊坊短视频优化案例
  • 企业网站建站方案赤峰做网站的
  • 网站推广怎么样东莞网站排名推广
  • 天津网站建设公司最好网站新闻模板
  • 找人给公司做网站去哪找wordpress 4.1 搜索框
  • 设计的有趣的网站河北省住房和建设厅网站首页
  • 江门企业模板建站站长资讯
  • 我的世界服务器网站建设新开的店怎么弄定位
  • 值得浏览的外国网站霞浦建站公司