【发布时间】:2019-07-31 08:51:51
【问题描述】:
Boost::Coroutine2 和 CoroutineTS(C++20) 是 C++ 中流行的协程实现。两者都暂停和恢复,但两种实现遵循完全不同的方法。
CoroutineTS(C++20)
- 无堆栈
- 返回暂停
- 使用特殊关键字
generator<int> Generate()
{
co_yield;
});
boost::coroutine2
- 堆叠式
- 电话暂停
- 不要使用特殊关键字
pull_type source([](push_type& sink)
{
sink();
});
是否有任何我应该只选择其中一个的特定用例?
【问题讨论】:
标签: c++ boost coroutine boost-coroutine2