Version: 2019.1
ジョブの作成
JobHandle と依存関係

ジョブのスケジュール

メインスレッドでジョブをスケジュールするには、以下を行う必要があります。

  • ジョブをインスタンス化します。
  • ジョブのデータを入力します。
  • Schedule メソッドを呼び出します。

Schedule を呼び出すと、適切な時点で実行するためのジョブキューにジョブを加えます。一旦スケジュールすると、ジョブを中断することはできません。

ノート Schedule はメインスレッドからのみ呼び出すことができます。

ジョブのスケジュール例

//結果を保存するために、1 つの float 値を格納できるネイティブの配列を作成します。この例では、説明のためにジョブが完了するのを待ちます。
NativeArray<float> result = new NativeArray<float>(1, Allocator.TempJob);

//ジョブのデータを設定します
MyJob jobData = new MyJob();
jobData.a = 10;
jobData.b = 10;
jobData.result = result;

//ジョブをスケジュールします
JobHandle handle = jobData.Schedule();

//ジョブが完了するのを待ちます
handle.Complete();

//NativeArray のすべてのコピーが同じメモリを指している場合は、自分の NativeArray のコピーの結果にアクセスできます。
float aPlusB = result [0];

//結果の配列に割り当てられたメモリを解放します。
result.Dispose();

  • 2018–06–15 編集レビュー を行ってパブリッシュされたページ

  • C# Job System は 2018.1 で公開NewIn20181

ジョブの作成
JobHandle と依存関係