c++支持coroutine的简单示例
发布时间:2016-12-28 来源:查字典编辑
摘要:平台:linux依赖:g++supportsc++0x复制代码代码如下:voidfunc1(){coroutine.yield();}voi...
平台: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;
}