- 浏览: 69828 次
- 性别:
- 来自: 杭州
最新评论
coroutine (通常被译为“协作程序”或"共行程序“)是程序设计中一个非常重要的概念,通常可用于多任务协作处理、迭代器和管道中。它最早出现于”Design of a Separable . Transition -Diagram Compiler “这篇论文中,taocp (the art of computer programming)第一卷1.4.2节也对这个概念进行简单的讲解。Building Coroutines 用图示来说明coroutine的概念。c语言中实现coroutine有以下几种方法:
(2)使用c标准库的setjmp和longjmp函数,例如:
Coroutines in less than 20 lines of standard C
(3)unix/linux等遵守posix规范的系统提供了getcontext, setcontext, makecontext and swapcontext ,可以用来实现coroutine
(4)其他一些coroutine库,例如:libtask ,libpcl ,libCoroutine ,coro ,libconcurrency ,libcoro
发表评论
-
最小c编译器
2011-11-08 14:09 1406最小c编译器(来源 (最好在linux下操作))代码有好几个 ... -
the development of c language(转)
2011-11-08 09:25 1043c语言之父Dennis Ritchie 写的关于c语言开发历 ... -
C语言,你真的弄懂了么?
2011-11-07 12:42 1712程序(来源 ): #include <stdi ... -
pe文件格式实例解析
2011-11-07 10:05 0环境:windows xp 速龙3000+(即x86兼容32位 ... -
小型elf "Hello,World"程序
2011-11-06 23:59 1312参考链接:http://timelessname.com/el ... -
elf文件格式实例解析
2011-11-05 23:00 6265试验环境:archlinux 速龙3000+(即x86兼 ... -
高质量的c源代码
2011-11-03 10:18 1077现在自由软件及开源软件越来越流行,有大量的附带源程序 ... -
fltk 库
2011-09-26 19:47 1755fltk是一个小型、开源、支持OpenGL 、跨平台(win ... -
《Introduction to Computing Systems: From bits and gates to C and beyond》
2011-09-25 23:33 2105很好的一本计算机的入门书,被很多学校采纳作为教材,作者Yale ... -
csapp bufbomb实验
2011-09-16 14:21 4527csapp (《深入理解计算机系统》)一书中有一个关于缓冲区 ... -
the blocks problem(uva 101 or poj 1208)
2011-09-11 20:57 1789题目描述见:uva 101 or poj 1208 ... -
the blocks problem(uva 101 or poj 1208)
2011-09-11 20:56 0题目描述见:uva 101 or poj 1208 ... -
部分排序算法c语言实现
2011-09-02 14:51 980代码比较粗糙,主要是用于对排序算法的理解,因而忽略了边界和容错 ... -
编译器开发相关资源
2011-08-31 08:40 1158开发编译器相关的一些网络资源: how difficu ... -
zoj 1025 Wooden Sticks
2011-07-23 20:25 934题目见:zoj 1025 先对木棒按照长度进行排序,然后再计 ... -
zoj 1088 System Overload
2011-07-23 17:30 1124约瑟夫环 (josephus problem )问题, ... -
zoj 1091 Knight Moves
2011-07-23 09:05 807题目见zoj 1091 使用宽度搜索优先来求解, ... -
zoj 1078 palindrom numbers
2011-07-22 19:31 1107题目见zoj 1078 主要是判断一个整数在基数为2 ... -
zoj 1006 do the untwist
2011-07-22 13:24 892题目见zoj 1006 或poj 1317 简单 ... -
zoj 3488 conic section
2011-07-22 12:23 956题目见zoj 3488 很简单的题目,却没能一次搞定,因 ...
相关推荐
Coroutine源码
Coroutine_Source_Test
David Beazley作的关于Python并发coroutine的介绍slides
基于linux cpp实现的协程库coroutine
每个协程是一个独立的执行单元,为了能够方便协程之前的通信/同步,coroutine_event提供了chan这种机制。它本质上类似于一个阻塞消息队列,但是它不一定FIFO。它支持在多个线程里面的多个协程之间通信,但不同的线程...
Lua Coroutine,协程详解,lua 基本础,The Programming Language Lua
Coroutine是基于Kilim/Promise JDeferred的协程式驱动框架,基于Apache Zookeeper的分布式规则存储和动态规则变更通知。 主要特性: 1. 基于微服务框架理念设计 2. 支持同步/异步调用 3. 支持串行/并行调用 4....
开源的c++协程实现,包含头文件即可使用详见https://github.com/tonbit/coroutine
安卓 Kotlin Coroutine协程 使用方式代码举例: 包含GlobalScope 、CoroutineScope 详细使用代码举例,相关介绍文章,可参考: https://xiaxl.blog.csdn.net/article/details/123383727
C++20 Coroutine PPT
The concept of a coroutine is one of the oldest proposals for a general control abstraction. It is attributed to Conway [Conway, 1963], who described coroutines as “subroutines who act as the master ...
在C++里,一个函数如果其函数体实现中包含co_await、co_yield、co_return中任何一个关键字,那么这个函数就是一个coroutine。其中: co_await:挂起当前的coroutine co_return:从当前coroutine返回一个结果 co_...
您可以先使用coroutine_open打开一个计划,然后在该计划中创建coroutine。 您应该在调用coroutine_open的线程中调用coroutine_resume,并且不能在同一调度中的协程中调用它。 相同计划中的协程共享堆栈,因此您...
然而,为了管理我们额外开启的线程,Unity3D将协同程序的调用放在了MonoBehaviour中,这样我们在编程时就可以方便的调用指定脚本中的协同程序,而不是
test for lua coroutine and linux makecontext
boost.coroutine2 boost.coroutine2提供了用于通用子例程的模板,该模板允许多个入口点在某些位置挂起和恢复执行。 它保留了执行的本地状态,并允许多次输入子例程(如果必须在函数调用之间保持状态,则很有用)。 ...
awaitable coroutine library for C
代码如下:void func1(){ coroutine.yield();} void func2(Coro_t co1){ coroutine.resume(co1); coroutine.yield();} void func(){ Coro_t co1 = coroutine.create(std::bind(&func1)); coroutine.resume(co1)...
协程 Coroutine 到底是个啥?