开发者社区> 问答> 正文

我如何从C++中的另一个cooutine中调用cooutine?

我有一个很长的协同线,我想把它分成更小的协同线。与常规函数一样,使代码更加清晰。它的行为就像只有一个大的协同线,所有较小的协同作用都是连续发生的。

我在用js #include <experimental/coroutine> .

我一直在尝试这样的方法:

resumable part1_coroutine()
{
    cout << "1" << endl;
    co_await suspend_always();
}

resumable part2_coroutine()
{
    cout << "2" << endl;
    co_await suspend_always();
}

resumable main_coroutine()
{
    cout << "main" << endl;
    part1_coroutine();
    part2_coroutine();
    co_await suspend_always();
}

但似乎发生的是part1_coroutine()和part2_coroutine()根本不会被处决。

展开
收起
aqal5zs3gkqgc 2019-12-19 20:44:53 3030 0
1 条回答
写回答
取消 提交回答
  • 这就是co_await foo() 是吗?-再补充一种药物foo一次取得进展的机会,暂停电流必要时要等待它完成。如果你只是调用一个协同线,而不是等待它,你扔掉了那个呼叫的句柄,放弃了呼叫。

    2019-12-19 20:45:54
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载

相关实验场景

更多