Boost :: Coroutine2和CoroutineTS(C ++ 20)是C ++中流行的协程实现。两者都暂停和恢复,但是两种实现遵循完全不同的方法。
协程TS(C ++ 20)
generator<int> Generate()
{
co_yield;
});
Run Code Online (Sandbox Code Playgroud)
boost ::协程2
pull_type source([](push_type& sink)
{
sink();
});
Run Code Online (Sandbox Code Playgroud)
是否有任何我只应选择其中一种的特定用例?