c# 5.0 - async/await

18
Twitter [@elemarjr ] | Facebook [facebook.com/elemarjr ] | Blog [elemarjr.net ] C# 5.0 – Async/Awai lemar Jr.

Upload: elemar-junior

Post on 25-May-2015

1.845 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

C# 5.0 – Async/AwaitElemar Jr.

Page 2: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Apresentando Elemar JR

P&D na Promob onde trabalha há 14 anos

Microsoft C# MVPjaneiro 2012

Integrante do Void Podcast com Leandro Daniel [@leandronet] e Vinícius Quaiato [@vquaiato]

Blogueiro e articulistaelemarjr.net e www.infoq.com/br/author/Elemar-Jr.

FOSS developerfluentil.org + github.com/elemarjr + elemarjr.github.com

32 anos, pai, DEV e nerdArquiteto, enxadrista, (ex) apaixonado por vinhos. Gosta de filosofia e teologia

Page 3: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Evolução No que o C# melhorou

C# 1.0

C# 2.0

C# 3.0

C# 4.0

C# 5.0

VS 2002

VS 2005

VS 2008

VS 2010

VS 2012

Managed Code

Generics Anonymous Methods

Nullable Types

Lambda Expressions

Extension Methods

Expression Tree

Anonymous Types LINQ

Implicit Typing (var)

Late Binding

Named Arguments

Optional Parameters

More COM support

Async feature

Caller Information

Page 4: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Palavras “do cara” Por que Async?!

Asynchronous programming is becoming the norm in modern, connected applications (Anders Hejlsberg)

Page 5: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Síncrono Obtendo links no msdn

https://gist.github.com/3226500

Page 6: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Assíncrono Criando um “handler” (método) – há benefícios

https://gist.github.com/3226537

Page 7: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Assíncrono Usando expressões Lambda

https://gist.github.com/3226583

Page 8: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Assíncrono Usando TPL

https://gist.github.com/3226611

Page 9: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Assíncrono Usando async

https://gist.github.com/3226629

Page 10: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Comparando Síncrono e Async

Page 11: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Retornando Retornando Async

https://gist.github.com/3226689

Page 12: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Interface Considerando Async

https://gist.github.com/3226728

Page 13: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Interface Considerando Async

https://gist.github.com/3226785

Page 14: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

(cont) Interface Considerando Async

https://gist.github.com/3226785

Page 15: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

(cont) Interface Considerando Async

https://gist.github.com/3226785

Page 16: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Implementando Async Awaiter pattern

https://gist.github.com/3226785

Page 17: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Implementando Async Awaiter pattern (exemplo 2)

https://gist.github.com/3226841

Page 18: C# 5.0 - Async/Await

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Finalizando Era isso!

Parallel/Asyncronous Programming mais fácil com o Async CTPbit.ly/post-async-1

Async (advanced) – Returning Values, Cancellation, Awaiter patternbit.ly/post-async-2

Visual Studio Async CTP – downloadbit.ly/download-async-ctp