> Formations > Technologies numériques > Langages et développement > .NET > Formation .Net, développement multithreads > Formations > Technologies numériques > Formation .Net, développement multithreads

Formation : .Net, développement multithreads

.Net, développement multithreads




Cette formation aborde la programmation asynchrone avec Task Parallel Library, ainsi que les bonnes pratiques pour leur mise en œuvre efficace en C#. Vous verrez comment gérer le partage de la mémoire, les problèmes de synchronisation, l’asynchronisme avec les tâches et les meilleures pratiques de développement.


INTER
INTRA
SUR MESURE

Cours pratique en présentiel ou à distance
Disponible en anglais, à la demande

Réf. ILQ
  3j - 21h00
Prix : 1910 € H.T.
Pauses-café et
déjeuners offerts




Cette formation aborde la programmation asynchrone avec Task Parallel Library, ainsi que les bonnes pratiques pour leur mise en œuvre efficace en C#. Vous verrez comment gérer le partage de la mémoire, les problèmes de synchronisation, l’asynchronisme avec les tâches et les meilleures pratiques de développement.


Objectifs pédagogiques
À l’issue de la formation, le participant sera en mesure de :
Réaliser la synchronisation de threads en .Net
Appréhender les ressources offertes par la Task Parallel Library et la Task Parallel Library Dataflow
Choisir la collection adaptée à un algorithme multithreads
Associer la programmation évènementielle et le multithreading avec Reactive Extension

Public concerné
Développeurs, architectes, chefs de projet.

Prérequis
Connaissance de .Net ou d'un langage de programmation orienté objet.
Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en faisant  ce test.

Modalités d'évaluation
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de QCM, mises en situation, travaux pratiques…
Le participant complète également un test de positionnement en amont et en aval pour valider les compétences acquises.

Programme de la formation

1
Les outils de base du multithreading

  • Qu'est-ce qu'un thread ? Notion de thread et processus.
  • Le partage de la mémoire par les threads.
  • ThreadPool pour éviter la création des threads.
  • AppDomain pour isolation de module.
  • Synchronisation multiprocess : les objets de synchronisation Event, Mutex, Semaphore.
  • Synchronisation intraprocess : la classe Monitor du framework et le mot clé lock.
  • Le danger d'étreinte fatale et sa détection.
  • La classe ReaderWriterSlimLock. La classe Interlocked.
Travaux pratiques
Synchronisation de deux threads, producteur et consommateur de données. Utilisation des classes standards.

2
Bases de la Task Parallel Library

  • Démarrer les tâches et en obtenir leur résultat.
  • Mots clé await et async.
  • Continuations pour gérer la fin normale, sur exception, annulation.
  • Event Asynchronous Pattern versus Task Asynchronous Pattern.
  • Parallel Linq pour exécuter les requêtes Linq en parallèle.
  • Gestion des exceptions, annulations avec Parallel Linq.
  • Parallel.ForEach pour lancer des tâches basées sur les données.
  • Parallel.For pour des calculs d’agrégats.
Travaux pratiques
Calcul d’une somme en parallèle avec différents outils. Démarrage de Tasks et utilisation de await et async.

3
Plus de détails sur la Task Parallel Library

  • Choix de l’endroit où exécuter une tâche : TaskScheduler.
  • ConfigureAwait pour optimiser la reprise.
  • Rapporter un progrès avec Progress<T>.
  • Annulation de tâche avec CancellationTokenSource.
  • IAsynEnumerable<T> et await foreach de C# 8.
Travaux pratiques
Annulation de tâche et rapport de progrès dans le crawler.

4
Collections pour la concurrence

  • Collections immutables quand un instantané des données est suffisant.
  • Collections concurrentes pour un partage protégé de données modifiées.
  • Collections pour les problématiques producteurs/consommateurs.
Travaux pratiques
Optimisation et protection du crawler avec des collections concurrentes.

5
Task Parallel Library Dataflow

  • Task Parallel Library Dataflow pour les exécutions en réseaux parallèles.
  • Les différents blocs de Dataflow, et leur liaison.
  • Liaison conditionnelle des blocs.
  • Dataflow et bufferisation des données.
  • Dataflow et parallélisation des traitements.
  • Liaison dynamique des blocs.
Travaux pratiques
Communiquer entre un serveur web et un backend de manière découplée.

6
Reactive Extension pour une programmation réactive

  • Reactive Extension pour traiter les événements comme des séquences.
  • Modèle de conception réactif.
  • Observables chauds et froids, abonnement aux données des événements.
  • Écriture à la Linq pour traiter les données.
Travaux pratiques
Fournir une implémentation d’autosuggestion reactive.


Solutions de financement
Plusieurs solutions existent pour financer votre formation et dépendent de votre situation professionnelle.
Découvrez-les sur notre page Comment financer sa formation ou contactez votre conseiller formation.

Horaires
les cours ont lieu de 9h à 12h30 et de 14h à 17h30.
Les participants sont accueillis à partir de 8h45. Les pauses et déjeuners sont offerts.
Pour les stages pratiques de 4 ou 5 jours, quelle que soit la modalité, les sessions se terminent à 16h le dernier jour.

Dates et lieux
Sélectionnez votre lieu ou optez pour la classe à distance puis choisissez votre date.
Classe à distance

Dernières places
Date garantie en présentiel ou à distance
Session garantie




PARTICIPANTS
Futurs managers et responsables d’équipe souhaitant structurer leur pratique managériale

PRÉREQUIS
Aucun

COMPÉTENCES DU FORMATEUR
Les experts qui animent la formation sont des spécialistes des matières abordées. Ils ont été validés par nos équipes pédagogiques tant sur le plan des connaissances métiers que sur celui de la pédagogie, et ce pour chaque cours qu’ils enseignent. Ils ont au minimum cinq à dix années d’expérience dans leur domaine et occupent ou ont occupé des postes à responsabilité en entreprise.

MODALITÉS D’ÉVALUATION
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de QCM, mises en situation, travaux pratiques… Le participant complète également un test de positionnement en amont et en aval pour valider les compétences acquises.

MOYENS PÉDAGOGIQUES ET TECHNIQUES
• Les moyens pédagogiques et les méthodes d’enseignement utilisés sont principalement : aides audiovisuelles, documentation et support de cours, exercices pratiques d’application et corrigés des exercices pour les stages pratiques, études de cas ou présentation de cas réels pour les séminaires de formation. • À l’issue de chaque stage ou séminaire, ORSYS fournit aux participants un questionnaire d’évaluation du cours qui est ensuite analysé par nos équipes pédagogiques. • Une feuille d’émargement par demi-journée de présence est fournie en fin de formation ainsi qu’une attestation de fin de formation si le stagiaire a bien assisté à la totalité de la session.

MODALITÉS ET DÉLAIS D’ACCÈS
L’inscription doit être finalisée 24 heures avant le début de la formation.

ACCESSIBILITÉ AUX PERSONNES HANDICAPÉES
Pour toute question ou besoin relatif à l’accessibilité, vous pouvez joindre notre équipe PSH par e-mail à l'adresse psh-accueil@orsys.fr.