Se connecter

Ou creér votre compte

Vous venez d'ajouter à votre sélection
Votre panier est vide, Voir nos formations

Formation - C#, programmation multithread

Skills Campus

Tranning & certification center
  • SII-298
  • 4 jours
  • 676 vues

Description

Cette formation vous montrera les avantages du traitement multithread ainsi que la manière de le mettre en oeuvre 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.

À qui s'adresse cette formation ?

Pour qui ?

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

Prérequis

Bonnes connaissances en programmation C#.

Les objectifs de la formation

Maîtriser les outils de base pour la création de threads
Mettre en oeuvre les classes de synchronisation du framework
Maîtriser les appels asynchrones
Savoir utiliser des outils de diagnostic

Programme de la 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.
  • 676
  • 28 h

Soumettez votre avis