C#, Evento, MVP ShowCast, Programação assíncrona, Webcast, WPF

Palestra no MVP ShowCast 2013: Programação assíncrona com C# 5 no Visual Studio 2013

O evento MVP ShowCast 2013

MVP ShowCast Logo

O MVP ShowCast é um evento virtual gratuito sobre tecnologias da Microsoft, sendo composto por uma série de webcasts transmitidos ao vivo e gravados para serem disponibilizados depois. O evento foi idealizado e é organizado por MVPs do Brasil com apoio da Microsoft. Mais informações no site do evento: http://mvpshowcast.azurewebsites.net.

A palestra Programação assíncrona com C# 5 no Visual Studio 2013

No dia 3 de dezembro de 2013, eu apresentei o webcast da palestra Programação assíncrona com C# 5 no Visual Studio 2013 no evento virtual MVP ShowCast 2013.

Na palestra, eu apresentei a evolução dos padrões assíncronos no .NET Framework até a versão atual (.NET Framework 4.5.1): Asynchronous Programming Model (APM) no .NET Framework 1.0, Event-Based Asynchronous Pattern (EAP) no .NET Framework 2.0 e Task-based Asynchronous Pattern (TAP) no .NET Framework 4.0.

Apresentei detalhes do funcionamento do padrão Task-based Asynchronous Pattern (TAP), que é o padrão assíncrono atualmente recomendado pela Microsoft, bem como o padrão de assinaturas de métodos assíncronos em tipos .NET. A introdução do modificador async e do operador await na linguagem C# 5 facilitaram muito a programação assíncrona com o padrão TAP, permtindo que o desenvolvedor escreva um código assíncrono de modo similar à programação síncrona, sendo que o compilador fica responsável por gerar uma máquina de estado para alternar entre as tarefas.

Na primeira demonstração (TAP, async e await), eu criei uma biblioteca de classes (Class Library) para cálculo de fatorial e uma aplicação WPF para consumir a biblioteca. O participante do webcast teve a oportunidade de testemunhar problemas na renderização da interface da aplicação WPF na chamada do método síncrono para cálculo do fatorial e a resolução do problema na chamada de uma versão assíncrona do método.

Eu comentei sobre o uso da estrutura System.Threading.CancellationToken para implementar o suporte a cancelamento num método assíncrono, recurso que é opcional. Depois, eu mostrei como implementar o cancelamento numa aplicação cliente na chamada de um método assíncrono com suporte a cancelamento com uso da classe System.Threading.CancellationTokenSource.

E eu comentei sobre o uso da interface System.IProgress<in T> para implementar o suporte a notificação de progresso num método assíncrono, recurso que, assim como o cancelamento, também é opcional. Finalmente, eu mostrei como usar a classe System.Progress<T> e o seu evento ProgressChanged para atualizar um controle ProgressBar na aplicação WPF cliente.

Seguem os slides da palestra Programação assíncrona com C# 5 no Visual Studio 2013.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s