private void RemoveFromSimulation(ConcurrentExecution _execution) { if (_simulatingexecutions.ContainsKey(_execution.Offset)) { _simulatingexecutions.Remove(_execution.Offset); } }
private void InsertInSimulation(ConcurrentExecution _execution) { if (!_simulatingexecutions.ContainsKey(_execution.Offset)) { _simulatingexecutions.Add(_execution.Offset, _execution); } }
public static void Explain(this ConcurrentExecution runnable, TextWriter writer) { writer.WriteLine(@" - `Task.WhenAll` materializes enumerable - Tasks are executed concurrently - `Task.WhenAll` task is done when all done - When one task threw an exception the task is faulted and the exception rethrown - When interested in the outcome of each task you have to loop over the tasks "); }
private void RemoveFromIndex(ConcurrentExecution _execution) => _executionindex.Add(_execution.Key, _execution);
private void InsertInIndex(ConcurrentExecution _execution) => _executionindex.Add(_execution.Key, _execution);
public static void PrintStart(this ConcurrentExecution runnable, int element) { Console.WriteLine($"start {element} / {Thread.CurrentThread.ManagedThreadId}"); }
public static void PrintEnd(this ConcurrentExecution runnable, Int32 element) { Console.WriteLine($"done {element} / {Thread.CurrentThread.ManagedThreadId}"); }