C# : Programmation parallèle
Résumé
Réaliser un traitement de données parallélisé ou multi-thread, résoudre un problème de synchronisation, exploiter les tâches asynchrones de .NET.
Objectif
A l’issue de la formation, le stagiaire saura mettre en œuvre :
- Instanciation de threads partageant des données communes
- Synchronisation de threads pour garantir la cohérence des données
- Orchestration de tâches asynchrones
- Conception d’un traitement de données multithread
- Parallélisation d’un algorithme
Public concerné
Cette formation s’adresse aux développeurs professionnels ou aux étudiants avec une expérience en programmation C#. Le stagiaire doit maîtriser les aspects structurés, objets et fonctionnels (LINQ) du langage.
Des connaissances en algorithmique et en système sont conseillées. Des rappels seront faits.
Une expérience avec une bibliothèque graphique .NET est un plus (certaines démonstrations exploitent WPF).
Contenu
Partie 1 : Système d’exploitation
Ordonnancement de tâches :
- Partage du temps de calcul
- Différentes stratégies d’ordonnancement
- Parallélisme logique et parallélisme physique
- Threads, processus, mémoire partagé
Threads et synchronisation :
- Création d’un thread
- Rendez-vous
- Problème de lecture et d’écriture sale
- Primitives de synchronisation : exclusion mutuelle, sémaphores, signaux
- Opérations atomiques
- Verrou d’écriture
Partie 2 : Programmation parallèle
Tâches asynchrones et pool de threads :
- Calcul synchrone vs calcul asynchrone
- Un modèle de calcul asynchrone, application aux interfaces graphiques
- Calcul asynchrone parallèle
- Pool de threads et tâches
- Programmation asynchrone
- Tâche de fond, synchronisation avec une interface graphique
Traitement de données multithread :
- Parallélisation d’une boucle
- Opérateurs PLINQ (Parallel LINQ)
- Itérateurs asynchrones
Algorithmes parallèles :
- Algorithmes d’exploration
- Serveur web
- Traitement d’image
- Rendu 2D/3D temps-réel
Modalités
Mode d’intervention
En sous-traitance auprès des instituts de formation certifiés Qualopi, en inter- ou intra-entreprise.
Le programme présenté est adaptable à un besoin spécifique après audit.
Travaux pratiques
L’ensemble de la formation s’articule à parts égales entre exposés techniques, démonstrations en direct et travaux pratiques.
Le stagiaire reçoit durant la formation les supports d’exposé ainsi que le code source des démonstrations et solutions de travaux pratiques.
Moyens techniques
La formation est proposée en vidéo-conférence. Le stagiaire doit s’équiper du matériel et du logiciel nécessaire.