Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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...
Upcoming SlideShare
Loading in …5
×

Le futur de VB et l'asynchronisme

951 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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 />

×