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

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