`

coroutine资源索引

阅读更多

coroutine (通常被译为“协作程序”或"共行程序“)是程序设计中一个非常重要的概念,通常可用于多任务协作处理、迭代器和管道中。它最早出现于”Design of a Separable . Transition -Diagram Compiler “这篇论文中,taocp (the art of computer programming)第一卷1.4.2节也对这个概念进行简单的讲解。Building Coroutines 用图示来说明coroutine的概念。c语言中实现coroutine有以下几种方法:

(1)Coroutines in C

(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

分享到:
评论

相关推荐

    Coroutine源码.zip

    Coroutine源码

    Coroutine_Source_

    Coroutine_Source_Test

    Python coroutine

    David Beazley作的关于Python并发coroutine的介绍slides

    基于linux cpp实现的协程库coroutine

    基于linux cpp实现的协程库coroutine

    coroutine_event.zip

    每个协程是一个独立的执行单元,为了能够方便协程之前的通信/同步,coroutine_event提供了chan这种机制。它本质上类似于一个阻塞消息队列,但是它不一定FIFO。它支持在多个线程里面的多个协程之间通信,但不同的线程...

    Lua_Coroutine

    Lua Coroutine,协程详解,lua 基本础,The Programming Language Lua

    协程式驱动框架Nepxion-Coroutine.zip

    Coroutine是基于Kilim/Promise JDeferred的协程式驱动框架,基于Apache Zookeeper的分布式规则存储和动态规则变更通知。 主要特性: 1. 基于微服务框架理念设计 2. 支持同步/异步调用 3. 支持串行/并行调用 4....

    协程coroutine.h

    开源的c++协程实现,包含头文件即可使用详见https://github.com/tonbit/coroutine

    安卓Kotlin Coroutine协程使用案例代码

    安卓 Kotlin Coroutine协程 使用方式代码举例: 包含GlobalScope 、CoroutineScope 详细使用代码举例,相关介绍文章,可参考: https://xiaxl.blog.csdn.net/article/details/123383727

    C++20 Coroutine PPT

    C++20 Coroutine PPT

    LUA - coroutine

    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++ Coroutine简单学习教程

    在C++里,一个函数如果其函数体实现中包含co_await、co_yield、co_return中任何一个关键字,那么这个函数就是一个coroutine。其中: co_await:挂起当前的coroutine co_return:从当前coroutine返回一个结果 co_...

    read-coroutine-code:云风coroutine库源码分析

    您可以先使用coroutine_open打开一个计划,然后在该计划中创建coroutine。 您应该在调用coroutine_open的线程中调用coroutine_resume,并且不能在同一调度中的协程中调用它。 相同计划中的协程共享堆栈,因此您...

    Unity3D中如何终止协同程序Coroutine1

    然而,为了管理我们额外开启的线程,Unity3D将协同程序的调用放在了MonoBehaviour中,这样我们在编程时就可以方便的调用指定脚本中的协同程序,而不是

    testco.zip_lua coroutine

    test for lua coroutine and linux makecontext

    coroutine2:Boost.Coroutine2

    boost.coroutine2 boost.coroutine2提供了用于通用子例程的模板,该模板允许多个入口点在某些位置挂起和恢复执行。 它保留了执行的本地状态,并允许多次输入子例程(如果必须在函数调用之间保持状态,则很有用)。 ...

    awaitable coroutine library for C.zip

    awaitable coroutine library for C

    c++支持coroutine的简单示例

    代码如下: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 到底是个啥?

    协程 Coroutine 到底是个啥?

Global site tag (gtag.js) - Google Analytics