Async: scalabilità e responsiveness senza pari! @ CDays

293 views

Published on

Per ottenere applicazioni scalabili con un consumo minimo di risorse e una UI sempre reattiva,
dobbiamo scrivere software che opera in maniera asincrona.
In questa sessione vedremo perchè è importante sfruttare questo tipo di programmazione e
quali strumenti mette a disposizione il .NET Framework.

http://www.communitydays.it/events/communitydays-2013/misc04/

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
293
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Async: scalabilità e responsiveness senza pari! @ CDays

  1. 1. Grazie a Sponsor
  2. 2. Agenda• Falsi miti e definizioni• Supporto del .NET Framework• Tipologie di operazioni• Design applicazioni
  3. 3. Falsi miti• Serve a velocizzare l’esecuzione• Eseguire in un nuovo Thread• Asincrono e parallelo sono sinonimi
  4. 4. Asincrono• Non bloccare il Thread chiamante – Client-side: mantenere la User Interface (re)attiva (desktop, tablet, phone) – Server-side: evitare la creazione di nuovi Thread, risparmiando risorse
  5. 5. Parallelo• Eseguire contemporaneamente operazioni asincrone – Ridurre il tempo complessivo di esecuzione dividendo il carico di lavoro
  6. 6. Task-based Asynchronous Pattern• Insieme di tipi e librerie .NET – Nuovo modello unificato – Evoluzione di quelli passati• C# nuove keywords async/await
  7. 7. Tipologie• CPU-bound: intensive da un punto di vista computazionale (Thready Tasks) – Task.Factory.StartNew(()=>{ /* code */ });• I/O-bound: interazione con un dispositivo di input/output (Threadless Tasks) – WebRequest.Create("...").GetResponseAsync();
  8. 8. Design Applicazioni• La progettazione del software è attività molto impegnativa, che richiede molti skills, ma progettare software che lavora in asincrono e parallelo è ancora più difficile
  9. 9. Word CounterDEMO
  10. 10. Q&ATutto il materiale di questa sessione suhttp://www.communitydays.it/#CDays13

×