public void SimpleLoad(CancellationToken cancelToken) { var unitTests = new UnitTest[] { new UnitTest(this.Foo), new UnitTest(this.Bar), new UnitTest(this.Shz), new UnitTest(this.Nit) }; var testPattern = new RandomTestPattern(); testPattern.Initialize(0, unitTests); var workerStrategy = new DedicatedThreadWorkerStrategy(); var loadPattern = new StaticLoadPattern() { WorkerCount = 24 }; Task t = loadPattern.ExecuteAsync(testPattern, workerStrategy, cancelToken); Task.Delay(3000).GetAwaiter().GetResult(); var rootLoadPattern = new StaticLoadPattern() { WorkerCount = 500 }; //add a burst of execution rootLoadPattern.Execute(new UnitTest(Root), workerStrategy, new CancellationTokenSource(10000).Token); //wait for original workers to complete t.GetAwaiter().GetResult(); }