Version: 2018.4
NativeContainer
调度作业

创建作业

要在 Unity 中创建作业,必须实现 IJob 接口。借助 IJob,可以调度与正在运行的其他作业并行运行的单个作业。

注意:“作业”是 Unity 中对于任何实现 IJob 接口的结构的统称。

要创建作业,您需要:

  • 创建实现 IJob 的结构。
  • 添加该作业使用的成员变量(为 blittable 类型NativeContainer 类型之一)。
  • 在结构中创建一个名为 Execute 的方法,并在其中实现该作业。

执行作业时,Execute 方法在单个核心上运行一次。

注意:在设计作业时,请记住它们是对数据副本进行操作,但 NativeContainer 除外。因此,从主线程中的作业访问数据的唯一方法是写入 NativeContainer

简单作业定义示例

// 将两个浮点值相加的作业
public struct MyJob : IJob
{
    public float a;
    public float b;
    public NativeArray<float> result;

    public void Execute()
    {
        result[0] = a + b;
    }
}

  • 2018–06–15 页面已发布并进行了编辑审查

  • 2018.1 版中公开了 C# 作业系统 NewIn20181

NativeContainer
调度作业