Nos domaines de formation :

Formation C#, programmation multithread

4,6 / 5
Stage pratique
Durée : 4 jours
Réf : PMU
Prix  2018 : 2490 € H.T.
Pauses et déjeuners offerts
  • Programme
  • Participants / Prérequis
  • Intra / sur-mesure
  • avis vérifiés
Programme

Cette formation vous montrera les avantages du traitement multithread ainsi que la manière de le mettre en œuvre de manière efficace en C#. Vous verrez comment gérer le partage de la mémoire, les problèmes de synchronisation, les pools de threads, ainsi que les meilleures pratiques de développement.

PROGRAMME DE FORMATION

Introduction

  • Plusieurs threads : pourquoi ? Les objectifs.
  • Deux modèles de multithreading : concurrent/parallèle.
  • Difficultés et défis de la programmation multithread.

Les outils de base du framework

  • Qu'est-ce qu'un thread ? Composants d'un thread.
  • Le partage de la mémoire par les threads.
  • La classe Thread du framework (version 2 et sup).
  • Le besoin de synchronisation et l'instruction lock.

Travaux pratiques
Création de thread. Synchronisation. Influence du nombre de processeurs.

Les classes de synchronisation du framework

  • Les objets de synchronisation historiques de Windows : Event, Mutex, Semaphore.
  • Les classes équivalentes du framework.
  • Les sections critiques de Windows et la classe Monitor du framework.
  • Le danger d'étreinte fatale et sa détection.
  • Les variables conditionnelles et la classe Monitor.
  • La classe ReadWriteLock. La classe Interlocked.

Travaux pratiques
Synchronisation de deux threads, producteur et consommateur de données. Utilisation des classes.

Le pool de threads

  • La ThreadPool et ses deux catégories de threads.
  • Le paramétrage du nombre de threads.
  • Utilisation explicite et implicite de threads de travail.

Travaux pratiques
Usage explicite de threads du pool.

L'utilisation d'exécutions asynchrones

  • La mécanique Windows sous-jacente.
  • Le Design Pattern Begin/End et les classes Stream ou autres concernées.
  • L'asynchrone dans les ASP.NET.
  • Le Design Pattern Async du framework pour les sockets.

Travaux pratiques
Ecriture d'un programme utilisant des appels asynchrones.

L'instrumentation et le profilage du code

  • La compétition pour les données, l'oubli de synchronisation et sa granularité.
  • Les lectures/écritures mémoire cassées, le réordonnancement des instructions.
  • L'utilisation d'outils de diagnostic pour juger de la pertinence de l'utilisation de threads.

Travaux pratiques
Mise en évidence de l'impact de certains choix de design d'application.

Conception et architecture des programmes

  • Penser/concevoir multithread et parallèle.
  • Threads et interface graphique.
  • Thread vs AppDomain.
Participants / Prérequis

» Participants

Développeurs, ingénieurs, architectes, chefs de projet.

» Prérequis

Bonnes connaissances en programmation C#.
Intra / sur-mesure
Programme standard     Programme sur-mesure
Oui / Non

Vos coordonnées

Avis vérifiés
picto avis vérifiés
Olivier D. 26/09/2017
4 / 5
Il aurait été intéressant d'avoir un partage depuis l'ordinateur du formateur pour récupérer les TP une fois finis. Cela permettrait ainsi de pouvoir relire un code propre, de pouvoir y utiliser pour un TP suivant et d'avoir la solution dès la fin de l'exercice. Il aurait été intéressant également de se pencher sur des cas d'utilisation pratiques, des problèmes rencontrer, plutôt que des TP "tirés d'internet". S'arrêter un peu plus sur les design pattern aurait été un plus.
Avis client 4,6 / 5

Les avis client sont issus des feuilles d’évaluation de fin de formation. La note est calculée à partir de l’ensemble des avis datant de moins de 12 mois.

Dates de sessions

Pour vous inscrire, cliquez sur la session qui vous intéresse.
[+]
PARIS

Horaires

Les cours ont lieu de 9h à 12h30 et de 14h à 17h30.
Les participants sont accueillis à partir de 8h45.
Pour les stages pratiques de 4 ou 5 jours, les sessions se terminent à 15h30 le dernier jour.
Filières métiers
Thème associé