Version: 2023.1
言語: 日本語
ジョブシステムの概要
スレッドセーフタイプ

ジョブの概要

ジョブは、1 つの特定のタスクを実行する小さな作業ユニットです。メソッド呼び出しと同様に、ジョブはパラメーターを受け取り、データを処理します。ジョブは自己完結型にすることも、実行前に他のジョブに依存することも可能です。Unity では、ジョブとは、IJob インターフェース を実装する構造体を指します。

ジョブのスケジューリングと完了ができるのはメインスレッドだけです。また、2つのジョブが同時にジョブの内容にアクセスすることはできません。ジョブの効率的な実行を保証するために、ジョブを互いに依存させることができます。Unityのジョブシステムでは、ジョブが正しい順序で完了するように、複雑な依存関係のチェーンを作成できます。

ジョブタイプ

  • IJob: ジョブスレッド上で単一のタスクを実行します。
  • IJobParallelFor: タスクを並行して実行します。並行して実行するそれぞれのワーカースレッドは、ワーカースレッド間の共有データに安全にアクセスするための排他的インデックスを持ちます。
  • IJobParallelForTransform: タスクを並行して実行します。並行して実行する各ワーカースレッドは、操作する Transform 階層からの排他的 Transform を持ちます。
  • IJobFor: IJobParallelFor と同じですが、ジョブが並行して実行されないようにスケジュールを設定できます。
ジョブシステムの概要
スレッドセーフタイプ