协程
利白
这个作者很懒,什么都没留下…
展开
-
协程概念,原理(c++和node.js实现)
文章来源:点击打开链接 什么是协程wikipedia 的定义:协程是一个无优先级的子程序调度组件,允许子程序在特定的地方挂起恢复。线程包含于进程,协程包含于线程。只要内存足够,一个线程中可以有任意多个协程,但某一时刻只能有一个协程在运行,多个协程分享该线程分配到的计算机资源。为什么需要协程简单引入就实际使用理解来讲,协程允许我们写同步代码的逻辑,却做着异步的事,避免了回...转载 2018-06-05 09:12:53 · 1424 阅读 · 0 评论 -
协程学习:基本概念(一)--firecat推荐
点击打开链接 协程的定义 根据维基百科的描述,协程是一种程序组件,与子例程一样,但是协程更为一般和灵活,但在实践中使用没有子例程那样广泛。 https://zh.wikipedia.org/wiki/%E5%8D%8F%E7%A8%8B 其实这个概念不容易理解,可以先忽略,先看看协程到底是干什么用的。线程包含于进程,协程包含于线程。只要内存足够,一个线程中可以有任意多个协程,但某一...转载 2018-06-05 09:17:45 · 814 阅读 · 0 评论 -
协程学习:协程的实现(二)--云风的协程实现,带中文注释版本
点击打开链接https://blog.csdn.net/LMFQYJ/article/details/79211084 云风coroutine源码分析https://blog.csdn.net/Swartz2015/article/details/76274688 从云风的coroutine库学习协程 本文以云风的协程框架来讲述协程的实现,学习协程的实现有利于了解协程的工作机制。...转载 2018-06-05 09:18:24 · 418 阅读 · 0 评论 -
开源libco库:单机千万连接、支撑微信8亿用户的后台框架基石
点击打开链接前言微信于2013年开源的ibco库,是微信后台大规模使用的c/c++协程库,2013年至今稳定运行在微信后台的数万台机器上。libco在2013年的时候作为腾讯六大开源项目首次开源,ibco支持后台敏捷的同步风格编程模式,同时提供系统的高并发能力。有关开发libco的背后故事,请见文章《微信异步化改造实践:8亿月活、单机千万连接背后的后台解决方案》。libco支持的特性libco主要...转载 2018-06-05 09:23:39 · 772 阅读 · 0 评论 -
微信异步化改造实践:8亿月活、单机千万连接背后的后台解决方案
点击打开链接前言如今,微信拥有月活跃用户8亿。不可否认,当今的微信后台拥有着强大的并发能力。不过, 正如罗马并非一日建成;微信的技术也曾经略显稚嫩。微信诞生于2011年1月,当年用户规模为0.1亿左右;2013年11月,微信月活跃用户数达到3.55亿,一跃成为亚洲地区拥有最大用户群体的移动终端即时通讯软件。面对如此体量的提升,微信后台也曾遭遇棘手的窘境;令人赞叹的是,技术人及时地做出了漂亮的应对。...转载 2018-06-05 09:24:38 · 808 阅读 · 0 评论 -
微信后台phxrpc协程库理解(提取协程相关源码)
源码来自https://github.com/Tencent/phxrpc我把协程相关的源码提取出来,写了个测试程序(仿造https://github.com/cloudwu/coroutine/blob/master/main.c),便于理解:看runtime_.Resume(id)这一行,就是执行当前的协程,这个协程在创建的时候被定位到执行关联的函数处,这个具体实现在uthread_c...原创 2018-12-17 10:21:07 · 789 阅读 · 0 评论 -
一个“蝇量级” C 语言协程库 -- Protothreads
https://coolshell.cn/articles/10975.html协程(coroutine)顾名思义就是“协作的例程”(co-operative routines)。跟具有操作系统概念的线程不一样,协程是在用户空间利用程序语言的语法语义就能实现逻辑上类似多任务的编程技巧。实际上协程的概念比线程还要早,按照 Knuth 的说法“子例程是协程的特例”,一个子例程就是一次子函数调用,那...转载 2018-12-24 16:19:53 · 1186 阅读 · 0 评论