• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de desenvolvimento & Linguagens de programação]
 

Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de desenvolvimento & Linguagens de programação]

on

  • 297 views

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

Palestra: Programação assíncrona com C# 5 no Visual Studio 2013
Palestrante: Rogério Moraes de Carvalho
Realização: 03/12/2013 17h
Trilha: Ferramentas de desenvolvimento & Linguagens de programação
Sessão: Desenvolvimento
Evento: MVP ShowCast 2013
Site: http://mvpshowcast.azurewebsites.net

Statistics

Views

Total Views
297
Views on SlideShare
297
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de desenvolvimento & Linguagens de programação] Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DEV - Ferramentas de desenvolvimento & Linguagens de programação] Presentation Transcript

    • SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO MVP ShowCast 2013 Programação assíncrona com C# 5 no Visual Studio 2013 Rogério Moraes de Carvalho Visual C# Diretor de Tecnologia – VITA Informática @rogeriomc rogeriomc.wordpress.com © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
    • SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Agenda ♦Padrões assíncronos no .NET Framework 4.5.1 ♦Task-based Asynchronous Pattern (TAP) ♦async e await ♦Demonstração 1: TAP, async e await ♦Cancelamento (opcional) ♦Progresso (opcional) ♦Demonstração 2: Cancelamento e progresso © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
    • SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO .NET 1.0 Padrões assíncronos no .NET Framework 4.5.1 Asynchronous Programming Model (APM) Método BeginNomeMetodo Método EndNomeMetodo .NET 4.0 .NET 2.0 Event-based Asynchronous Pattern (EAP) Método NomeMetodoAsync Evento NomeMetodoCompleted Opcionalmente um método NomeMetodoAsyncCancel Opcionalmente um evento NomeMetodoProgressChanged Task-based Asynchronous Pattern (TAP) * Método NomeMetodoAsync ou NomeMetodoTaskAsync * Abordagem atualmente recomendada pela Microsoft para programação assíncrona © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
    • SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Task-based Asynchronous Pattern (TAP) ♦Padrão baseado nos tipos Task e Task<TResult> ♦ Representam operações assíncronas arbitrarias ♦ Fornecem um ciclo de vida para operações assíncronas ♦ Definidos no namespace System.Threading.Tasks ♦Task helpers ♦ Execução em segundo plano ♦ Task.Run(() => {/* código de segundo plano */}) ♦ Composição paralela (combinadores) ♦ Task.WhenAny(params Task[] tasks) ♦ Task.WhenAll(params Task[] tasks) © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
    • SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Task-based Asynchronous Pattern (TAP) ♦Assinatura da versão síncrona do método ♦ NomeMetodo(...) ♦Assinaturas das versões assíncronas do método ♦ NomeMetodoAsync(...) ♦ NomeMetodoAsync(..., CancellationToken c) ♦ NomeMetodoAsync(..., IProgress<T> p) ♦ NomeMetodoAsync(..., CancellationToken c, IProgress<T> p) ♦Tipos de retorno das versões assíncronas ♦ void NomeMetodo(...)  Task NomeMetodoAsync(...) * ♦ T NomeMetodo(...)  Task<T> NomeMetodoAsync(...) * Neste caso, a versão assíncrona também pode retornar void © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
    • SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO async e await ♦Modificador async ♦ Indica que um método, uma expressão lambda ou um método anônimo é assíncrono ♦Operador await ♦ Suspende uma tarefa (Task ou Task<T>) até que ela seja concluída © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
    • SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Demonstração 1 TAP, async e await ♦Class Library ♦ Namespace MvpShowCast.Dev.LinguagensProgramacao.Matematica ♦ Classe estática AnaliseCombinatoria ♦ Método estático síncrono: Fatorial(ulong) ♦ Método estático assíncrono: FatorialAsync(ulong) ♦Aplicação WPF (Windows Presentation Foundation) ♦ Consumo do método síncrono versus ♦ Consumo do método assíncrono © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
    • SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Cancelamento (opcional) ♦Estrutura CancellationToken * ♦ Propaga a notificação que uma operação deve ser cancelada ♦Classe CancellationTokenSource * ♦ Sinaliza para um CancellationToken que ele deve ser cancelado * Ambos os tipos estão no namespace System.Threading © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
    • SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Progresso (opcional) ♦Interface System.IProgress<in T> ♦ Define um fornecedor para atualizações de progresso ♦ Se for null, o progresso não deve ser reportado ♦ Um único método: void Report(T value) ♦Classe System.Progress<T> ♦ Implementa a interface System.IProgress<T> ♦ Permite, opcionalmente, invocar um callback para cada valor de progresso ♦ O evento ProgressChanged permite notificar progressos © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
    • SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Demonstração 2 Cancelamento e progresso ♦Class Library ♦ Novo método assíncrono: FatorialAsync(ulong, CancellationToken, IProgress<ulong>) ♦Suporte a cancelamento e progresso na aplicação WPF © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
    • SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Documentação ♦Task-based Asynchronous Pattern (TAP) ♦ http://msdn.microsoft.com/en-us/library/hh873175.aspx ♦Implementing the Task-based Asynchronous Pattern ♦ http://msdn.microsoft.com/en-us/library/hh873177.aspx ♦Consuming the Task-based Asynchronous Pattern ♦ http://msdn.microsoft.com/en-us/library/hh873173.aspx ♦Asynchronous Programming with Async and Await (C# and Visual Basic) ♦ http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
    • SESSÃO: DESENVOLVIMENTO TRILHA: FERRAMENTAS DE DESENVOLVIMENTO & LINGUAGENS DE PROGRAMAÇÃO Perguntas & Respostas Rogério Moraes de Carvalho Visual C# Diretor de Tecnologia – VITA Informática @rogeriomc rogeriom.wordpress.com © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.