Coroutine与纤维差异澄清

kas*_*uqi 12 coroutine fiber

在书中Linux System Programming, 2nd Edition,协同程序和光纤之间的区别解释如下:

协程和光纤提供的执行单元甚至比线程更轻(前者在它们是编程语言构造时是它们的名称,后者在它们是系统构造时).

我有一些Coroutines(语言结构)的例子,但无法找到Fibers的例子.

任何人都可以提供一些光纤(系统构造)的例子吗?

xlr*_*lrg 17

你可以看看boost.coroutine2boost.fiber(C++库) -都使用相同的上下文切换机制(callcc()/续)从boost.context.

简而言之 - 协同程序和光纤之间的区别在于,光纤之间的上下文切换由调度程序管理(选择下一根光纤......).协同程序没有调度程序的概念.

关于协程和纤维之间差异的更详细解释可以在N4024看到:区分协程和纤维.

  • N4024 是一个令人惊奇的解释!感谢您分享这个令人难以置信的资源。 (3认同)