「途中でpauseできる関数」
- コルーチンのローカル変数は、連続した呼び出しの間持続する
- コルーチンは制御が離れるとpauseされ、再び再開される
- [[スレッド]]との違い:
- スレッドは[[並列]]かつ[[Concurrent|並行]]
- コルーチンは[[並行]]性があるが、並列ではない
- スレッドのようにシステムコールでコンテキスト切り替えなくて良い。OSによるサポートがいらないし、速い
- [[Mutex]]などの同期プリミティブを必要としない
- [[Generator]], [[Subroutine]]はCoroutineのサブセット
- [[async/await]]パターンがナウい
# 参考
- https://en.wikipedia.org/wiki/Coroutine