public interface IJobParallelForA unit of work the scheduler runs once per index, spread across threads.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
The scheduler splits [0, length) into batches and hands each batch out as a separate work item, so idle threads steal batches rather than waiting for a fixed partition. Execute is called once for every index in [0, length), exactly once, in no guaranteed order and on no guaranteed thread.
The same job struct is shared by every batch. Two indices may therefore run at the same time on different threads, which is exactly the point — and which means a IJobParallelFor that writes anywhere other than index's own element is a data race that no part of this library can see.
Methods (1)
void Execute(int index)Runs the work for one index.
Used by (13)
- TransformJobVixen.Benchmarks.Jobs
- CullJobVixen.Rendering
- JobSchedulerVixen.Core.Threading
- ParallelJobStoreVixen.Core.Threading
- ParallelJobTypeVixen.Core.Threading
- RecordThreadJobVixen.Core.Threading.Tests
- RecordThreadPerIndexJobVixen.Core.Threading.Tests
- SliceJobVixen.Navigation
- SweepVixen.Vfx
- ThrowingParallelJobVixen.Core.Threading.Tests
- UpdateJobVixen.Animation
- VisitJobVixen.Core.Threading.Tests
- WriteIndexJobVixen.Core.Threading.Tests