コンテンツへスキップ
uencoder

Coroutine

コルーチンとは、一時停止と再開が可能な関数であり、OS のスケジューリングなしに協調的に切り替わり、スレッドより軽量である。

目的

同期処理風の構文で非同期コードを記述し、コールバックや Promise より直感的にする。

メカニズム

コルーチンは yield や await で一時停止して制御を呼び出し側へ返し、停止地点から再開する。OS のスレッド切替オーバーヘッドがないため、単一スレッドで数百万のコルーチンを実行できる。Python の async/await、Go の goroutine、JS の async/await が代表例である。

ユースケース

  • 非同期プログラミング
  • スケーラブルな並行処理
  • 軽量なスケジューリング

関連用語

References