private void StartSyncTasksExecuted(object obj) { var taskData = this.Data.SyncTasks; taskData.Clear(); var stopwatch = Stopwatch.StartNew(); for (var i = 0; i < ViewModel.NumberOfTasks; ++i) { var task = new LongExampleTask($"T-{i + 1}", 100 * (i + 1)); taskData.Tasks.Add(task); task.Run(); taskData.Progress = $"Finished {i + 1} of {ViewModel.NumberOfTasks} tasks"; taskData.Time = stopwatch.ElapsedMilliseconds; } }
private async void StartAsyncParallelTasksExecuted(object obj) { var taskData = this.Data.AsyncParallelTasks; taskData.Clear(); var stopwatch = Stopwatch.StartNew(); for (var i = 0; i < ViewModel.NumberOfTasks; ++i) { var task = new LongExampleTask($"T-{i + 1}", 100 * (i + 1)); taskData.Tasks.Add(task); } var tasks = from t in taskData.Tasks select t.RunAsync(); await Task.WhenAll(tasks); taskData.Progress = $"Finished all of {ViewModel.NumberOfTasks} tasks"; taskData.Time = stopwatch.ElapsedMilliseconds; }
private async void StartAsyncParallelTasksExecuted(object obj) { var taskData = this.Data.AsyncParallelTasks; taskData.Clear(); var stopwatch = Stopwatch.StartNew(); for (var i = 0; i < ViewModel.NumberOfTasks; ++i) { var task = new LongExampleTask($"T-{i + 1}", 100 * (i + 1)); taskData.Tasks.Add(task); } /* * * Your code belongs here! * */ taskData.Progress = $"Finished all of {ViewModel.NumberOfTasks} tasks"; taskData.Time = stopwatch.ElapsedMilliseconds; }