Unityでジョブを作成するには、IJob インターフェースを実装する必要があります。IJob
を使用すると、実行中の他のジョブと並列処理する 1 つのジョブをスケジュールすることができます。
ノート Unity において、「ジョブ」は、IJob
インターフェースを実装する構造体を指す Unity 内での総称です。
ジョブを作成するには、以下を行います。
IJob
を実装する構造体を作成します。ジョブを実行するとき、Execute
メソッドは 1 つのコアで 1 回実行されます。
注意 ジョブを設計するときは、NativeContainer
の場合を除いてデータのコピーを使って動作することに注意してください。そのため、メインスレッドのジョブからデータにアクセスするには、NativeContainer
に書き込むことによってのみ可能です。
// 2 つの浮動小数点の値を加算します
public struct MyJob : IJob
{
public float a;
public float b;
public NativeArray<float> result;
public void Execute()
{
result[0] = a + b;
}
}
2018–06–15 公開ページ
C# Job System は 2018.1 で公開NewIn20181