Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

task factory

var contasTarefas = contas.Select(conta =>
            {
                return Task.Factory.StartNew(() =>
                {

                    var resultadoConta = r_Servico.ConsolidarMovimentacao(conta);
                    resultado.Add(resultadoConta);
                });
            }).ToArray();

ola ,nao entendi esse trecho do codigo, pq teve que retornar task.factory , quando passo a conta para factory.starNew ja nao transforma essa conta em uma task?

2 respostas
solução!

Olá Luan, tudo certo?

Este código divide cada consolidação da conta em uma tarefa. Em cada iteração é adicionado uma tarefa para depois ser divididos em threads e executar em paralelo.

De fato, o Task.Factory.StartNew() divide em tarefas, mas em momento nenhum o conteúdo disso é executado. Esse conteúdo é colocado em uma variável para verificar se o processamento já terminou. Por isso ainda tem que chamar o Task.WaitAll(contasTarefas);

Esse curso é um passo a passo de como quebrar o código em tarefas e executar tudo em paralelo.

Bons estudos!

ata ,entendi cara , vlw