目前主要的方案是如下两种:
Duff Device Hack实现
我们后面介绍的 C++17 的实现就是基于这种方案, 因为仅仅是框架级的实现, 我们能够使用的实现方式会受到限制, 方案本身存在如栈变量的使用有严格的限制等问题...栈变量的使用, 因为本身机制的原因, 并不能正确的保存栈变量的值, 我们需要透过机制本身提供的机制来处理状态值 - 这个指的是被当成 std::tuple成员存储在 CoPromise 对象中的那些值...会作为 event 的一部分直接传递给业务系统, 并在发起事件后调用删除协程任务的方法...., 在有协程调度器存在的情况下, 业务侧对协程的使用感受, 与其他语言如 Python 中的差异....协程的使用同时也会带来其他一些好处, 像避免多级 Callback 带来的代码分散逻辑混乱等问题, 这个在 C++17 协程使用的范例中已经提到过, 此处不再重复.