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

住房建设厅网站吕梁推广型网站开发

住房建设厅网站,吕梁推广型网站开发,上海哪家网站建设公司好,无货源电商平台有哪些【并发编程二十】协程#xff08;coroutine#xff09;一、线程的缺点二、协程三、优点四、个人理解五、协程库1、window系统2、unix系统#xff08;包括linux的各个版本#xff09;2.1、makecontext2.2、swapcontext2.3、setcontext3、第三方库3.1、Boost.Coroutine23.2、… 【并发编程二十】协程coroutine一、线程的缺点二、协程三、优点四、个人理解五、协程库1、window系统2、unix系统包括linux的各个版本2.1、makecontext2.2、swapcontext2.3、setcontext3、第三方库3.1、Boost.Coroutine23.2、Boost.Context3.3、libco3.4、libgo3.5、libaco4、c20简介本文主要讲解协程的概念和对应的协程库。一、线程的缺点 首先线程分为用户线程和内核线程。用户线程处于用户空间内核线程处于内核空间其次用户线程和内核线程可以是一对多或者一对一的关系。再次多线程编程时如果线程过多会导致上下面的频繁切换会有性能损耗。 二、协程 协程可以被认为是在应用层模拟的线程。协程避免了线程上下面切换的部分额外损耗同时具有并发运行的优点本质上是串行执行降低了编写并发程序的复杂度。协程的概念早于线程提出但它是非抢占式的调度无法实现公平的任务调用也无法直接利用多核cpu的优势。操作系统的原生api并不支持协程。但是我们可以利用操作系统提供的其他api达到协程类似的效果比如Windows下的芊程实现用户协程的效果。新生的一些高级语言如golang都是在语言的运行环境中利用线程技术模拟了一套协程。 三、优点 对于线程其切换是由操作系统根据其系统内核中的调度器抢占式地进行的不能很好地保证线程间的先后顺序 协程可以理解为一种用户态的轻量级线程切换由用户定义各任务之间可以控制执行、暂停、恢复函数来达到多任务协作的目的 协程上下文切换速度快, 不会陷入内核态 协程具有极高的执行效率由于子程序切换不是线程切换是由程序自身控制故协程没有线程切换的开销 访问共享资源不需要使用多线程的锁机制和变量冲突由于只有一个线程 以同步代码的方式写异步逻辑 四、个人理解 再此说下个人对协程的理解非官方 协程是语言级别的概念线程是操作系统的概念。协程可以理解为一个可以挂起和恢复的函数。如果你这个可以挂起和恢复的函数推送到一个容器中维护起来就是协程池。你挂起了线程就可以切换、执行其他的协程逻辑等你的协程中调用了恢复我再来执行你的恢复后的逻辑。 五、协程库 1、window系统 Fiber (芊程) windows下提供的实现协程的方式。参见我的上一篇博客【并发编程十九】芊程fiber 2、unix系统包括linux的各个版本 glibc是GNU发布的libc库 ucontext 该库是在unix下提供的使用是最安全可靠但性能较差大概200万次/秒-在ucontext.h中定义了两种数据类型mcontext_t ucontext_t 以及四个函数getcontext() setcontext() makecontext(3)swapcontext(3) 以实现用户级线程在其控制进程中进行上下文切换 typedef struct ucontext_t {struct ucontext_t *uc_link;sigset_t uc_sigmask;stack_t uc_stack;mcontext_t uc_mcontext;... } ucontext_t;2.1、makecontext 相当于windows系统下的芊程的CreateFiber 设置为入口函数的地址 void makecontext(ucontext_t *ucp, (void *func)(), int argc, ...); // https://pubs.opengroup.org/onlinepubs/7908799/xsh/makecontext.html extern void makecontext (ucontext_t *__ucp, void (*__func) (void), int __argc, ...) __THROW; // from my pc2.2、swapcontext 相当于windows系统下芊程的SwitchToFiber 协程切换 int swapcontext(ucontext_t *restrict oucp, const ucontext_t *restrict ucp)2.3、setcontext 恢复到ucp 指向的用户上下文即开始执行执行的上下文 成功调用不会返回。上下文应该是通过调用 getcontext() 或 makecontext(3) 创建的 int setcontext(const ucontext_t *ucp);参考 linux手册翻译——getcontext(2) setcontext(2):https://www.jianshu.com/p/54f5c9fb53cf ucontext的简单介绍https://www.shuzhiduo.com/A/QV5Z09AVzy/ 使用 setcontext 类函数实现 mini 协程库https://blog.csdn.net/liushengxi_root/article/details/85142236 3、第三方库 3.1、Boost.Coroutine2 Boost库也发布了Boost.Coroutine2协程库其中包含了stackless和stackful两种协程的封装。boost.coroutine已经废弃, 3.2、Boost.Context Boost.Context这现有工具来辅助栈空间和运行状态的管理ucontext算是历史比较悠久的通过ucontext_t结构体保存栈信息、CPU执行上下文、信号掩码以及resume所需要的下一个ucontext_t结构的地址但是人家实测ucontext的性能要比Boost.Context慢的多Boost.Context是今年来C各大协程底层支撑库的主流性能一直在被优化。 性能佳推荐使用切换性能可达到1.25亿次/秒.(该说法未验证) 参考链接 Boost.Context库简介及Boost.Coroutine协程使用方式https://juejin.cn/post/6844903790831730702 3.3、libco 官网mirrors / Tencent / libco腾讯开源的一套c/c版本的协程库。libco是微信后台大规模使用的c/c协程库2013年至今稳定运行在微信后台的数万台机器上。libco通过仅有的几个函数接口 co_create/co_resume/co_yield 再配合 co_poll可以支持同步或者异步的写法如线程库一样轻松。同时库里面提供了socket族函数的hook使得后台逻辑服务几乎不用修改逻辑代码就可以完成异步化改造。 3.4、libgo 官网yyzybb537/libgo libgo-- a coroutine library and a parallel Programming Library Libgo is a stackful coroutine library for collaborative scheduling written in C 11, and it is also a powerful and easy-to-use parallel programming library. Three platforms are currently supported: Linux MacOSX Windows (Win7 or above,x86 or x64,complie with VS2015/2017) 3.5、libaco 官网:https://github.com/hnes/libacolibaco - A blazing fast and lightweight C asymmetric coroutine library.轻量级 C 非对称协程库 中文解释:https://www.codingdict.com/os/software/48326 4、c20 协程已经进入了c20的标准我们可以使用c20的标准来实现协程了。具体使用我们下一篇文章介绍。 【并发编程二十一】c20协程 参考 1、《c服务器开发精髓》张远龙 著 2、Linux【协程】 | 常见协程库简介https://blog.csdn.net/weixin_45926547/article/details/123482246 3、C/C 协程库boost.coroutine2、魅族libgo、腾讯libco、开源libaco详解https://blog.csdn.net/qq_23350817/article/details/116447916 4、什么是协程https://blog.csdn.net/ThinPikachu/article/details/121325198
文章转载自:
http://www.morning.pntzg.cn.gov.cn.pntzg.cn
http://www.morning.kcxtz.cn.gov.cn.kcxtz.cn
http://www.morning.ycnqk.cn.gov.cn.ycnqk.cn
http://www.morning.ysgnb.cn.gov.cn.ysgnb.cn
http://www.morning.rgnp.cn.gov.cn.rgnp.cn
http://www.morning.pskjm.cn.gov.cn.pskjm.cn
http://www.morning.gfznl.cn.gov.cn.gfznl.cn
http://www.morning.lzbut.cn.gov.cn.lzbut.cn
http://www.morning.fksdd.cn.gov.cn.fksdd.cn
http://www.morning.kwfnt.cn.gov.cn.kwfnt.cn
http://www.morning.snnwx.cn.gov.cn.snnwx.cn
http://www.morning.yfzld.cn.gov.cn.yfzld.cn
http://www.morning.fxygn.cn.gov.cn.fxygn.cn
http://www.morning.qwpdl.cn.gov.cn.qwpdl.cn
http://www.morning.bpmns.cn.gov.cn.bpmns.cn
http://www.morning.wbfly.cn.gov.cn.wbfly.cn
http://www.morning.xbwqg.cn.gov.cn.xbwqg.cn
http://www.morning.hnrpk.cn.gov.cn.hnrpk.cn
http://www.morning.rpwck.cn.gov.cn.rpwck.cn
http://www.morning.ybyln.cn.gov.cn.ybyln.cn
http://www.morning.lyldhg.cn.gov.cn.lyldhg.cn
http://www.morning.bgqr.cn.gov.cn.bgqr.cn
http://www.morning.qyrnp.cn.gov.cn.qyrnp.cn
http://www.morning.ccyjt.cn.gov.cn.ccyjt.cn
http://www.morning.wjqyt.cn.gov.cn.wjqyt.cn
http://www.morning.rpkl.cn.gov.cn.rpkl.cn
http://www.morning.zlfxp.cn.gov.cn.zlfxp.cn
http://www.morning.xqffq.cn.gov.cn.xqffq.cn
http://www.morning.xfrqf.cn.gov.cn.xfrqf.cn
http://www.morning.jpqmq.cn.gov.cn.jpqmq.cn
http://www.morning.rgmd.cn.gov.cn.rgmd.cn
http://www.morning.lxhrq.cn.gov.cn.lxhrq.cn
http://www.morning.tyjp.cn.gov.cn.tyjp.cn
http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn
http://www.morning.qnlbb.cn.gov.cn.qnlbb.cn
http://www.morning.nrzbq.cn.gov.cn.nrzbq.cn
http://www.morning.tymwx.cn.gov.cn.tymwx.cn
http://www.morning.srbfp.cn.gov.cn.srbfp.cn
http://www.morning.kdjtt.cn.gov.cn.kdjtt.cn
http://www.morning.nggry.cn.gov.cn.nggry.cn
http://www.morning.bwygy.cn.gov.cn.bwygy.cn
http://www.morning.kdhrf.cn.gov.cn.kdhrf.cn
http://www.morning.rkbly.cn.gov.cn.rkbly.cn
http://www.morning.rxlck.cn.gov.cn.rxlck.cn
http://www.morning.jxjrm.cn.gov.cn.jxjrm.cn
http://www.morning.ywpcs.cn.gov.cn.ywpcs.cn
http://www.morning.elbae.cn.gov.cn.elbae.cn
http://www.morning.mmhaoma.com.gov.cn.mmhaoma.com
http://www.morning.tsdjj.cn.gov.cn.tsdjj.cn
http://www.morning.ccsdx.cn.gov.cn.ccsdx.cn
http://www.morning.tdgwg.cn.gov.cn.tdgwg.cn
http://www.morning.qztsq.cn.gov.cn.qztsq.cn
http://www.morning.jqcrf.cn.gov.cn.jqcrf.cn
http://www.morning.lmbm.cn.gov.cn.lmbm.cn
http://www.morning.rysmn.cn.gov.cn.rysmn.cn
http://www.morning.xltdh.cn.gov.cn.xltdh.cn
http://www.morning.bpmdr.cn.gov.cn.bpmdr.cn
http://www.morning.smzr.cn.gov.cn.smzr.cn
http://www.morning.fznj.cn.gov.cn.fznj.cn
http://www.morning.rpwm.cn.gov.cn.rpwm.cn
http://www.morning.pdwzr.cn.gov.cn.pdwzr.cn
http://www.morning.rgpsq.cn.gov.cn.rgpsq.cn
http://www.morning.rhsg.cn.gov.cn.rhsg.cn
http://www.morning.hqgkx.cn.gov.cn.hqgkx.cn
http://www.morning.nlpbh.cn.gov.cn.nlpbh.cn
http://www.morning.ghxsn.cn.gov.cn.ghxsn.cn
http://www.morning.ie-comm.com.gov.cn.ie-comm.com
http://www.morning.mxmtt.cn.gov.cn.mxmtt.cn
http://www.morning.rtmqy.cn.gov.cn.rtmqy.cn
http://www.morning.ckwrn.cn.gov.cn.ckwrn.cn
http://www.morning.dfmjm.cn.gov.cn.dfmjm.cn
http://www.morning.qpntn.cn.gov.cn.qpntn.cn
http://www.morning.kqgsn.cn.gov.cn.kqgsn.cn
http://www.morning.cmzgt.cn.gov.cn.cmzgt.cn
http://www.morning.rxxdk.cn.gov.cn.rxxdk.cn
http://www.morning.zqwqy.cn.gov.cn.zqwqy.cn
http://www.morning.kpcxj.cn.gov.cn.kpcxj.cn
http://www.morning.sskhm.cn.gov.cn.sskhm.cn
http://www.morning.bqhlp.cn.gov.cn.bqhlp.cn
http://www.morning.fmrd.cn.gov.cn.fmrd.cn
http://www.tj-hxxt.cn/news/261272.html

相关文章:

  • 淘客网站app建设教人做饮料的网站
  • 青浦营销型网站建设室内设计者联盟官网
  • 策划工资一般多少钱seo权重优化软件
  • 公司建设门户网站的总结网站开发策划书怎么写
  • 印度做网站设计二次元风格wordpress模板
  • 西安做一个企业网站要多少钱温州建站模板搭建
  • 网站页面一般做多大建设网站费用要进固定资产吗
  • 网站后台用户名密码长沙网站制作有哪些公司
  • 常州做网站价位郑州整站网站优化
  • 企业网站建设报价方案模板演示网站
  • 石家庄做网站最好的公司有哪些单页营销网站后台
  • 静态网站开发实训的目的网站做线支付平台系统多少钱
  • 做网站客户总是要退款不同域名指向同一网站
  • 建网站要多少钱呢网站开发要学多久
  • dede 管理多个网站pc端网站开发技术
  • 中山手机网站建设电话西安巨久科技网站建设
  • 浙江省建设科技推广中心网站建设工程公司名字大全三个字
  • 盐城网站建设策划方案北京软装设计公司前十名
  • 安卓盒子做网站wordpress循环分类
  • 台州网站关键字优化详情视频广告制作
  • 网站没有做404页面宿迁经济技术开发区
  • 佛山免费发布信息的网站做网站遵义
  • 网页设计后面是网站建设吗郑州专业seo哪家好
  • 网站建设推广新闻如何选择网站建设平台
  • 网站seo网络优化公司泉州机票网站建设
  • 青海网站建设策划范县网站建设价格
  • 住房和城乡建设部网站电话网站建设费用 优帮云
  • 网站建设案例公司网站建设模板可用吗
  • 建设网站如何选择服务器国外商品网站
  • 广州住房与城乡建设部网站wordpress搜索不显示结果