Version: 2019.2
NativeContainer
ジョブのスケジュール

ジョブの作成

Unityでジョブを作成するには、IJob インターフェースを実装する必要があります。IJob を使用すると、実行中の他のジョブと並列処理する 1 つのジョブをスケジュールすることができます。

ノート Unity において、「ジョブ」は、IJob インターフェースを実装する構造体を指す Unity 内での総称です。

ジョブを作成するには、以下を行います。

  • IJob を実装する構造体を作成します。
  • ジョブが使用するメンバー変数を加えます (blittable 型NativeContainer)。 
  • 内部にジョブが実装された Execute と呼ばれるメソッドを作成します。

ジョブを実行するとき、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 Page published

  • C# Job System は 2018.1 で公開NewIn20181

NativeContainer
ジョブのスケジュール
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961