Le futur de VB et l’asynchronisme [LAN101]08/02 14h30<br />Patrice LamarcheGPI<br />http://patricelamarche.net<br />http:/...
Rappels Nouveautés VB10<br />Co-Evolution !<br />Continuation de ligne implicite<br />Statementslambdas<br />Propriétés au...
L’asynchronisme<br />2 types de traitements :<br />Consommation CPU<br />Consommation I/O<br />
Les opérations synchrones I/O<br />.net<br />Win32 User Mode<br />Windows Kernel Mode<br />Windows I/O Dispatcher<br />Dri...
Inconvénients<br />Scénario : Application Web, chaque client créé une requête en db<br />Thread bloqué pour un temps indéf...
L’asynchronisme<br />FileStream.Read()<br />Que se passe-t-il en cas de non réponse d’un fichier partagé présent sur un au...
Les opérations asynchrones I/O<br />.net<br />Win32 User Mode<br />ThreadPool<br />Extraction des IRP<br />Windows Kernel ...
Avantages<br />Potentiellement un seul thread du threadpool peut gérer toutes les requêtes<br />Peu d’allocation de ressou...
Pattern APM<br />AsynchronousProgramming Model<br />
Pattern EAP<br />Event basedAsynchronous Pattern<br />Créé par l’équipe Windows Forms<br />Avantages<br />Support de l’ann...
Démo<br />Utilisation Pattern APM/EAP<br />
Asynchronisme VB vNext<br />Visual Studio Async CTP<br />http://bit.ly/VSAsyncCTP<br />Nouvelles fonctionnalités<br />Asyn...
VB Async CTP<br />2 nouveaux mots-clés Async et Await<br />Async est un suffixe de méthode qui identifie une méthode async...
Nouveau pattern basé sur les Task<br />Taskbasedasynchronous pattern (TAP)<br />Les méthodes Async renvoie une Task<br />U...
Démo<br />VB Async<br />
Conclusion<br />Développement asynchrone très simplifié <br />Async et Await<br />Utilisation de la TaskParallel Library <...
Questions ?<br />
MSDN et TechNet: l’essentiel des ressources techniques à portée de clic<br />Portail administration et infrastructure pour...
Prochain SlideShare
Chargement dans…5
×

Le futur de VB et l'asynchronisme

831 vues

Publié le

Session qui a eu lieu lors des Microsoft TechDays 2011 à Paris à propos de Visual Studio Async CTP.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
831
Sur SlideShare
0
Issues des intégrations
0
Intégrations
56
Actions
Partages
0
Téléchargements
10
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Le futur de VB et l'asynchronisme

  1. 1.
  2. 2. Le futur de VB et l’asynchronisme [LAN101]08/02 14h30<br />Patrice LamarcheGPI<br />http://patricelamarche.net<br />http://www.twitter.com/PatriceVB<br />http://www.facebook.com/patrice.lamarche<br />
  3. 3. Rappels Nouveautés VB10<br />Co-Evolution !<br />Continuation de ligne implicite<br />Statementslambdas<br />Propriétés auto-implémentées<br />Initialisation de collections<br />Variance des types génériques<br />Runtimepurity (SP1)<br />
  4. 4. L’asynchronisme<br />2 types de traitements :<br />Consommation CPU<br />Consommation I/O<br />
  5. 5. Les opérations synchrones I/O<br />.net<br />Win32 User Mode<br />Windows Kernel Mode<br />Windows I/O Dispatcher<br />Driver NTFS<br />Queue d’IRPs<br />Hardware<br />Le Thread est suspendu<br />
  6. 6. Inconvénients<br />Scénario : Application Web, chaque client créé une requête en db<br />Thread bloqué pour un temps indéfini<br />Si nouvelle requête durant le blocage<br />ThreadPool va créer un nouveau thread pour la requête, thread qui va se bloquer<br />=> Beaucoup d’allocations<br />Quand les résultats arrivent, si beaucoup de threads, CPU overbooké, => Switches de contexte <br />
  7. 7. L’asynchronisme<br />FileStream.Read()<br />Que se passe-t-il en cas de non réponse d’un fichier partagé présent sur un autre serveur ?<br />Toujours préférer les versions asynchrones <br />(ex : Silverlight)<br />
  8. 8. Les opérations asynchrones I/O<br />.net<br />Win32 User Mode<br />ThreadPool<br />Extraction des IRP<br />Windows Kernel Mode<br />Windows I/O Dispatcher<br />Driver NTFS<br />Queue d’IRPs<br />Hardware<br />Le Thread n’est pas suspendu<br />
  9. 9. Avantages<br />Potentiellement un seul thread du threadpool peut gérer toutes les requêtes<br />Peu d’allocation de ressources<br />Allocation de threads uniquement si les résultats arrivent plus vite qu’ils ne sont traités.<br />=> Création d’un thread par CPU<br />=> Pas de switch de context<br />
  10. 10. Pattern APM<br />AsynchronousProgramming Model<br />
  11. 11. Pattern EAP<br />Event basedAsynchronous Pattern<br />Créé par l’équipe Windows Forms<br />Avantages<br />Support de l’annulation et de la progression<br />Inconvénients<br />Peu utilisé<br />APM très majoritairement utilisé dans le fx.net<br />17 classes seulement implémentent EAP<br />Principale utilisation : BackgroundWorker<br />
  12. 12. Démo<br />Utilisation Pattern APM/EAP<br />
  13. 13. Asynchronisme VB vNext<br />Visual Studio Async CTP<br />http://bit.ly/VSAsyncCTP<br />Nouvelles fonctionnalités<br />Asynchronisme<br />Itérateurs (Enfin !)<br />Se base sur la TPL et sur la classe Task<br />
  14. 14. VB Async CTP<br />2 nouveaux mots-clés Async et Await<br />Async est un suffixe de méthode qui identifie une méthode asynchrone<br />Opérateur Await suspend l’exécution et permet la reprise de l’exécution du code appelant <br />
  15. 15. Nouveau pattern basé sur les Task<br />Taskbasedasynchronous pattern (TAP)<br />Les méthodes Async renvoie une Task<br />Une tâche représente un travail à effectuer<br />Ne signifie pas forcément création de Thread !<br />
  16. 16. Démo<br />VB Async<br />
  17. 17. Conclusion<br />Développement asynchrone très simplifié <br />Async et Await<br />Utilisation de la TaskParallel Library <br />Accessible pour tout type d’applications<br />Même Silverlight<br />
  18. 18. Questions ?<br />
  19. 19.
  20. 20. MSDN et TechNet: l’essentiel des ressources techniques à portée de clic<br />Portail administration et infrastructure pour informaticiens<br />Portail de ressources technique pour développeurs<br />http://technet.com<br />http://msdn.com<br />

×