La loi de Moore ayant atteint ses limites, la programmation parallèle, basée sur le multl-threading est aujourd’hui en train de se généraliser pour continuer d’améliorer les performances des applications. Bien qu’elle soit présente au sein de la toute première version du Framework .NET, cette technique a considérablement évoluée avec les Tasks venues avec Framework 4 puis de nouveau avec le pattern async/await dans les versions qui ont suivies. Cette session vous permettra de connaître et mettre en œuvre ces différentes techniques.
Filière
Programmation
Code cours
MT
Niveau
Avancé
Durée
1 Jours
Participants
Ce cours s'adresse à des développeurs professionnels, souhaitant optimiser les temps de réponses des applications C#.
Prérequis
Connaissance de Visual Studio et du langage C#. Expérience requise.
Comprendre les concepts du multi-threading (Parallélisme, Asynchronisme et concurrence).
Présentation des générations des techniques de threading en .NET
Mise en œuvre de la TPL (Tasks Parrallel Tasks) et du pattern async-await.
Travaux pratiques
Mise en évidence des inconvénients de la classe Thread et du modèle de programmation associé avec l’interface IAsyncResult.
Mise en évidence des inconvénients du threading basé sur l’événement Completed.
Mise en évidence des avantages de la classe Task.
Mise en œuvre de la TPL (échange de donnés, récupération des erreurs et synchronisation).
Mise en œuvre des différentes techniques de gestion de la concurrence (Classes Interloked, CountDown, Barrier, instruction lock, délégués asynchrones et Dispatcher WPF).