「コルーチン」の版間の差分

削除された内容 追加された内容
PipepBot (会話 | 投稿記録)
m ロボットによる 追加: fr:Coroutine
Melan (会話 | 投稿記録)
編集の要約なし
3行目:
サブルーチンと異なり、状態管理を意識せずに行えるため、協調的処理、イテレータ、無限リスト、パイプなど、継続状況を持つプログラムが容易に記述できる。
 
コルーチンはサブルーチンを一般化したものと考えられる。コルーチンをサポートする言語には[[Modula-2]]、[[Simula]]、[[Icon言語|Icon]]、[[Lua]]、[[C_Sharp|C#]]、[[Limbo]]などがある。[[マルチスレッド]]で原理的には同じことができるため、現在はそちらが使われるケースが多い。これはマルチスレッドであれば直接OSの支援を受けられることや、エントリー/リターンの構造を変えずにコードを多重化できるので、過去の言語との親和性が良いなどが理由である。ただし、マルチスレッドの場合プログラマが同期制御を行わなければならないので、コルーチンのような簡易さはない。
 
== 関連項目 ==