/// <summary> /// Runs the provided <see cref="IParallelRunnable"/>. /// </summary> /// <param name="runnable">The <see cref="IParallelRunnable"/> to run.</param> public void Run(IParallelRunnable runnable) { Volatile.Write(ref _currentRunnable, runnable); _barrier?.StartWorkers(); runnable.Run(_tasks.Length, _tasks.Length); _barrier?.WaitForWorkers(); }
internal void Update(ASystem <T> system) { Volatile.Write(ref _currentSystem, system); _barrier?.StartWorkers(); system.Update(_tasks.Length, _tasks.Length); _barrier?.WaitForWorkers(); }