Ajustando seu aplicativo Async (C# e Visual Basic)
Você pode adicionar precisão e flexibilidade a seus aplicativos assíncronos usando os métodos e as propriedades que o tipo Task disponibiliza. Os tópicos nesta seção mostram os exemplos que usam CancellationToken e métodos importantes de Task como Task.WhenAll e Task.WhenAny.
Ao usar WhenAny e WhenAll, você pode facilmente iniciar várias tarefas e aguardar sua conclusão monitorando uma única tarefa.
WhenAny retorna uma tarefa que será concluída quando qualquer tarefa em uma coleção for concluída.
Para exemplos que usam WhenAny, consulte Cancelar as demais tarefas assíncronas depois que uma delas estiver concluída (C# e Visual Basic) e Iniciar várias tarefas assíncronas e processá-las na conclusão (C# e Visual Basic).
WhenAll retorna uma tarefa que será concluída quando todas as tarefas em uma coleção forem concluídas.
Para obter mais informações e um exemplo que utiliza WhenAll, consulte Como estender as instruções passo a passo assíncronas usando Task.WhenAll (C# e Visual Basic).
Esta seção inclui os exemplos a seguir.
Cancelar uma tarefa assíncrona ou uma lista de tarefas (C# e Visual Basic).
Cancelar tarefas assíncronas após um período (C# e Visual Basic)
Cancelar as demais tarefas assíncronas depois que uma delas estiver concluída (C# e Visual Basic)
Iniciar várias tarefas assíncronas e processá-las na conclusão (C# e Visual Basic)
Dica
Para executar os exemplos, você deve ter o Visual Studio 2012, Visual Studio 2013, Visual Studio Express 2012 para Windows Desktop, Visual Studio Express 2013 para Windows, ou o .NET Framework 4.5 ou 4.5.1 instalado em seu computador.
Os projetos criam a interface do usuário que contém um botão que inicia o processo e um botão que o cancela, conforme mostrado na imagem a seguir. Os botões são nomeados startButton e cancelButton.
Você pode baixar projetos completos do Windows Presentation Foundation (WPF) de Exemplo de Async: Ajustando seu aplicativo.
Consulte também
Conceitos
Programação assíncrona com Async e Await (C# e Visual Basic)