PROFESSIONAL GAME CREATOR SCHOOL G学院 用語集

OFFICIAL SITEへ戻る

コルーチン

 コルーチン(Coroutine)とは、Unityプログラミングにおいては関数を任意の箇所でストップ、再開できる機能を持った関数で、主に並列で処理する場合に用います。非同期処理を行うための方法の一つです。
 コルーチンは一種の関数であり、IEnumerator戻り値に持つことと、yieldという命令語が関数内に含まれることが必要条件となります。
 コルーチンのというもの自体は、マルチスレッドの一種であり、Unity特有の機能ではありません。通常の関数は開始から終了、戻り値を返すところまでを一挙に行うのに対し、コルーチンはいったん処理を中断した後、続きから処理を再開できます。そのため、通常では関数は1つずつしか実行できませんが、並列して処理を行うことが可能となります。
例えば、以下の様に関数を複数並べるとします。
Func1();
Func2();
Func3();
上記のコードでは、Func1が終了した後Func2、Func3と実行されます。これらの関数を同時に実行するにはマルチスレッドを利用する必要があります。
StartCoroutine(“Func1”);
StartCoroutine(“Func2”);
StartCoroutine(“Func3”);
 コルーチンでは完全に並列ではありませんが、Func1の途中まで実行後中段→Func2の途中まで実行後中段→Func3の途中まで実行後中段→Func1の続きを実行、というように並列処理を実現できます。それぞれの関数の途中で処理を中断したいところで、yield returnと記述して処理を中断し、再度呼び出した場合は、そこから処理を続行します。

用語集一覧へ戻る