在Boost中有3个具有手动低延迟上下文切换的细线程:
Coroutine1,Coroutine2和Boost中的Fiber之间有什么区别?
答案 0 :(得分:31)
boost.coroutine 是非C ++ 11,因此需要使用boost.context中的私有API(因为它已被弃用)。
boost.coroutine2 和 boost.fiber 需要C ++ 11并使用 callcc()/ continuation (实现上下文切换,调用 - 来自boost.context的
协程和光纤之间的区别在N4024: Distinguishing coroutines and fibers中描述 - 简而言之:光纤由内部调度程序切换,而协同程序使用无内部调度程序。 / p>