本の中で Linux System Programming, 2nd Edition
、コルーチンとファイバーの違いは次のように説明されています。
コルーチンとファイバーは、スレッドよりもさらに軽量な実行ユニットを提供します(前者はプログラミング言語構造の場合は名前で、後者はシステム構造の場合は名前です)。
コルーチン(言語構造)の例がいくつかありますが、ファイバーの例が見つかりません。
誰かが私にファイバー(システム構造)の例を教えてもらえますか?
boost.coroutine2 と boost.fiber (C++ライブラリ)を見てください-どちらも同じコンテキスト切り替えメカニズムを使用しています( callcc()/継続 )from boost.context 。
つまり、コルーチンとファイバーの違いは、ファイバー間のコンテキストスイッチがスケジューラーによって管理されることです(次のファイバーを選択します...)。コルーチンにはスケジューラーの概念がありません。
コルーチンとファイバーの違いのより詳細な説明は、 N4024:コルーチンとファイバーの区別 で読むことができます。