public static async Task <string> AtualizarCotacoes(ObservableListSource <ContaAtivo> ativos, IProgress <ProgressUpdate> progress) { var prog = new ProgressUpdate(ativos.Count()); var watch = System.Diagnostics.Stopwatch.StartNew(); await Task.Run(() => { Parallel.ForEach <ContaAtivo>(ativos, (ativo) => { ativo.AtualizarCotacao(); prog.Increment(); progress.Report(prog); }); }); watch.Stop(); return($"Duração: {watch.ElapsedMilliseconds / 1000:F2} s"); }