Quantcast
Channel: artigos TechNet
Viewing all articles
Browse latest Browse all 8688

VISUAL C# 5.0 - Async e Await

$
0
0
Revisão Atual postado em artigos TechNet por Márcio S Silva em 22/8/2013 10:40:14

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.publicForm1()
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

Tags: stub

Viewing all articles
Browse latest Browse all 8688

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>