要在 Unity 中创建作业,必须实现 IJob 接口。借助 IJob
,可以调度与正在运行的其他作业并行运行的单个作业。
注意:“作业”是 Unity 中对于任何实现 IJob
接口的结构的统称。
要创建作业,您需要:
IJob
的结构。执行作业时,Execute
方法在单个核心上运行一次。
注意:在设计作业时,请记住它们是对数据副本进行操作,但 NativeContainer
除外。因此,从主线程中的作业访问数据的唯一方法是写入 NativeContainer
。
// 将两个浮点值相加的作业
public struct MyJob : IJob
{
public float a;
public float b;
public NativeArray<float> result;
public void Execute()
{
result[0] = a + b;
}
}