Description
Ce programme de formation aborde des concepts avancés liés à la concurrence, au multi-threading et à l'asynchronisme, en mettant l'accent sur les cas d'utilisation pratiques et les meilleures pratiques pour éviter les écueils tels que les deadlocks. Les participants exploreront également la réflexion, les attributs et l'interopérabilité, notamment à travers P/Invoke et COM. Enfin, le fonctionnement avancé du runtime sera couvert, incluant le Dynamic Language Runtime et la Task Parallel Library. Ce cursus s'adresse aux développeurs souhaitant approfondir leurs compétences en programmation C#.
Objectifs
- Maîtriser le multi-threadingGérer l'asynchronisme
- Utiliser les méta-données avec les Attributes
- Etre initié à la programmation dynamique et parallèle
- Interagir avec du code non managé
- Créer des domaines d'application
Récapitulatif
Public
Développeurs, architectes, chefs de projets techniques
Prérequis
Connaissance et pratique du langage C#
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d'un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d'une documentation pédagogique numérique pendant la formation
La formation est constituée d'apports théoriques, d'exercices pratiques et de réflexions
Dans le cas d'une formation sur site Entreprise, le client s'engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard...) au bon déroulement de l'action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l'issue de la formation
Programme détaillé
Concurrence et threading
- Cas d'utilisation du multi-threading
- Thread et Task
- Synchronisation et communication
- ThreadPool et efficacité
- Deadlocks et autres écueils à éviter
Asynchronisme
- Différence entre appels synchrones et asynchrones
- Async opérations
- C#5 async et await
- Progression et abandon
Réflexion et attributs
- Introspection des assemblies et classes
- Les types d'Attributes
- Paramètres des Attributes
- Génération de code : Emitters
Interopérabilité
- P/Invoke
- COM Interop
- COM Wrappers
- Passage de paramètres
Fonctionnement avancé du runtime
- Dynamic Language Runtime (DLR)
- Task Parallel Library (TPL)
- Sécurité d'accès : Code Access Security
- Application Domains