VISUAL C# 5.0 - Async e Await

VISUAL C# 5.0 - Async e Await

Async

Aplicativos que tem necessidade de executar muitas tarefas ao mesmo tempo muitas vezes ficam bloqueados à espera que termine uma tarefa para concluir outras tantas. Visto isso foram criados o conceito de pilhas e execução em Threads, pai da execução assíncrona. 

A definição do modificador Async em uma classe, quer dizer que essa classe é uma classe assíncrona e que independente de sua conclusão, outros recursos podem serem executados simultaneamente pelo chamador, e sendo assim, não ficará bloqueado até que a tarefa tenha sido completada. 

Await


Para todo chamador Async obrigatoriamente necessita de pelo menos uma expressão de espera ou Await dentro da classe. Isso fara que a classe espere terminar inteira até que retorne novamente ao ponto do chamador. Métodos Async/Await são muito úteis em métodos que trabalhem com arquivos e/ou outros tipos que fazem com que tenha uma carga de tempo significativa. 

Abaixo um exemplo de uma chamada simples com Async que substitui um EventHandler de um click do mouse, ou seja, executa em paralelo. 

01.public Form1()
02.{
03.     InitializeComponent();
04. 
05.     button1.Click += async (sender, e) =>
06.     {
07.         await Teste();
08.     };
09.}
10.         
11.async Task Teste()
12.{
13.    await Task.Delay(10000);
14.    MessageBox.Show("Isso é um teste de Async!");
15.}

Referências extras


Referências extras podem ser obtidas atraves do site do msdn

Classificar por: Data da Publicação | Mais Recente | Mais Úteis
Comentários
Página 1 de 1 (5 itens)