原文:https://docs.unity3d.com/Manual/JobSystemCreatingJobs.html
创建Jobs
要在Unity中创建作业,您需要实现IJob接口。IJob允许您调度可以与其他正在运行的Job并行运行的单个Job。
注意:“Job”是Unity中用于实现IJob接口的任何结构的集合术语。
要创建Jobs,您需要:
- 创建一个继承自IJob的结构体。
- 添加Jobs使用的成员变量(blittable类型或NativeContainer类型)。
- 在结构体中实现一个继承自IJob接口的Execute的方法。
当执行job时,这个Execute方法在单个核心上运行一次。
注意:在设计job时,请记住它们在数据副本上运行,除非是NativeContainer。因此,从主线程中的作业访问数据的唯一方法是写入NativeContainer。
简单job定义的示例
// 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;
}
}