龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

c++支持coroutine的简单示例

时间:2014-05-15 17:38来源:网络整理 作者:网络 点击:
分享到:
这篇文章主要介绍了c++支持coroutine的简单示例,使用的是linux平台做的,需要的朋友可以参考下

平台:linux
依赖:g++ supports c++0x

代码如下:

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);   
    Coro_t co2 = coroutine.create(std::bind(&func2, co1));
    coroutine.resume(co2);
    coroutine.resume(co2);
}

int main()
{   
    Coro_t co = coroutine.create(std::bind(&func));
    coroutine.resume(co);
    return 0;
}

精彩图集

赞助商链接