using System.Collections; using System.Collections.Generic; using Unity.Collections; using Unity.Jobs; using UnityEditor; using UnityEngine; public class TestJobParallelFor_1 : MonoBehaviour { public struct MyParallelJob : IJobParallelFor { public NativeArray a; public NativeArray b; public NativeArray result; public void Execute(int index) { result[index] = a[index] + b[index]; } } void ScheduleParallelJob() { NativeArray a = new NativeArray(10, Allocator.TempJob); NativeArray b = new NativeArray(10, Allocator.TempJob); NativeArray result = new NativeArray(10, Allocator.TempJob); int dataCount = 10; for (int i = 0; i { a[i] = i * 0.3f; b[i] = i * 0.5f; } MyParallelJob jobData = new MyParallelJob(); jobData.a = a; jobData.b = b; jobData.result = result; JobHandle handle = jobData.Schedule(dataCount, 1); handle.Complete(); for (int i = 0; i { Debug.LogError(result[i]); } a.Dispose(); b.Dispose(); result.Dispose(); } private void Update() { ScheduleParallelJob(); } }