要在Unity中创建作业,您需要实现IJob接口。IJob
允许您安排与正在运行的任何其他作业并行运行的单个作业。
注意:“作业”是Unity中用于实现IJob
接口的任何结构的集合术语。
要创建工作,您需要:
- 创建一个实现的结构
IJob
。 - 添加作业使用的成员变量(blittable类型或NativeContainer类型)。
- 在结构中创建一个名为Execute的方法,并在其中实现作业。
执行作业时,该Execute
方法在单个核心上运行一次。
注意:在设计作业时,请记住它们对数据副本进行操作,除非是NativeContainer
。因此,从主线程中的作业访问数据的唯一方法是写入NativeContainer
。
简单作业定义的一个示例
// Job adding two floating point values together
public struct MyJob : IJob
{
public float a;
public float b;
public NativeArray<float> result;
public void Execute()
{
result[0] = a + b;
}
}