public Ring6PageVm() { Randy = new ThreadSafeRandom(); DisplayFrequencySliderVm = new SliderVm(new I <float>(1.0f, 50.0f), 1, "0", "DisplayFrequency") { Title = "Display Frequency", Value = 20 }; StepSizeVm = new SliderVm(new I <float>(0.0f, 0.3f), 0.02, "0.00", "StepSize") { Title = "Step Size", Value = 0.1f }; DisplayFrequencySliderVm = new SliderVm(new I <float>(1.0f, 100.0f), 1, "0", "DisplayFrequency") { Title = "Display Frequency", Value = 50 }; NoiseLevelVm = new SliderVm(new I <float>(0.0f, 0.3f), 0.002, "0.000", "NoiseLevel") { Title = "Noise", Value = 0.02f }; Grid2DVm = new Grid2DVm <float>(Bounds, ColorSets.RedBlueSFLeg, "Ring 1"); NodeArray = NodeProcs.RandNodeArray(Bounds, Randy); UpdateUi(); }
async void RunBatch() { int Stride = 32; var jobs = 4; var GridStrides = new Sz2 <int>(Stride, Stride); var nodeGrid = NodeProcs.RandNodeGrid(GridStrides, 123, 456); var localOrders = ColUtils.SubSeqs(jobs, GridStrides.Count() / jobs) .Select(t => t.ToList()) .ToList(); var trackedTasks = new List <Task <int> >(); for (var i = 0; i < jobs; i++) { var i1 = i; trackedTasks.Add(Task.Run(() => { Thread.Sleep(2000); return(i1); })); } await Task.WhenAll(trackedTasks); var tot = trackedTasks.Sum(tt => tt.Result); }