La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

2 Le futur de VB et l’asynchronisme [LAN101] 08/02 14h30 Patrice Lamarche GPI

Présentations similaires


Présentation au sujet: "2 Le futur de VB et l’asynchronisme [LAN101] 08/02 14h30 Patrice Lamarche GPI"— Transcription de la présentation:

1

2 2 Le futur de VB et l’asynchronisme [LAN101] 08/02 14h30 Patrice Lamarche GPI http://patricelamarche.net http://www.twitter.com/PatriceVB http://www.facebook.com/patrice.lamarche

3 3 Rappels Nouveautés VB10 Co-Evolution ! Continuation de ligne implicite Statements lambdas Propriétés auto-implémentées Initialisation de collections Variance des types génériques Runtime purity (SP1)

4 4 L’asynchronisme 2 types de traitements : Consommation CPU Consommation I/O

5 5 Les opérations synchrones I/O Windows I/O Dispatcher Driver NTFS Queue d’IRPs Le Thread est suspendu

6 6 Inconvénients Scénario : Application Web, chaque client créé une requête en db Thread bloqué pour un temps indéfini Si nouvelle requête durant le blocage ThreadPool va créer un nouveau thread pour la requête, thread qui va se bloquer => Beaucoup d’allocations Quand les résultats arrivent, si beaucoup de threads, CPU overbooké, => Switches de contexte 

7 7 L’asynchronisme FileStream.Read() Que se passe-t-il en cas de non réponse d’un fichier partagé présent sur un autre serveur ?

8 8 Les opérations asynchrones I/O Windows I/O Dispatcher Driver NTFS Queue d’IRPs ThreadPool Extraction des IRP Le Thread n’est pas suspendu

9 9 Avantages Potentiellement un seul thread du threadpool peut gérer toutes les requêtes Peu d’allocation de ressources Allocation de threads uniquement si les résultats arrivent plus vite qu’ils ne sont traités. => Création d’un thread par CPU => Pas de switch de context

10 10 Pattern APM Asynchronous Programming Model Appel méthode BeginRead Mise en queue de la requête au Windows Device Driver BeginRead retourne l'IAsyncResult (comme un reçu de la demande) Lorsque l'opération est terminée, un thread du ThreadPool appelle le callback

11 11 Pattern EAP Event based Asynchronous Pattern Créé par l’équipe Windows Forms Avantages Support de l’annulation et de la progression Inconvénients Peu utilisé APM très majoritairement utilisé dans le fx.net 17 classes seulement implémentent EAP Principale utilisation : BackgroundWorker

12 12 Démo Utilisation Pattern APM/EAP

13 13 Asynchronisme VB vNext Visual Studio Async CTP http://bit.ly/VSAsyncCTP Nouvelles fonctionnalités Asynchronisme Itérateurs (Enfin !) Se base sur la TPL et sur la classe Task

14 14 VB Async CTP 2 nouveaux mots-clés Async et Await Async est un suffixe de méthode qui identifie une méthode asynchrone Opérateur Await suspend l’exécution et permet la reprise de l’exécution du code appelant

15 15 Nouveau pattern basé sur les Task Task based asynchronous pattern (TAP) Les méthodes Async renvoie une Task Une tâche représente un travail à effectuer Ne signifie pas forcément création de Thread !

16 16 Démo VB Async

17 17 Conclusion Développement asynchrone très simplifié Async et Await Utilisation de la Task Parallel Library Accessible pour tout type d’applications Même Silverlight

18 18 Questions ?

19

20 20 MSDN et TechNet : l’essentiel des ressources techniques à portée de clic http://technet.com http://msdn.com Portail administration et infrastructure pour informaticiens Portail de ressources technique pour développeurs


Télécharger ppt "2 Le futur de VB et l’asynchronisme [LAN101] 08/02 14h30 Patrice Lamarche GPI"

Présentations similaires


Annonces Google