Formation Programmation parallèle avec .Net et C#

Apprenez à tirer parti des outils de programmation parallèle de .Net avec le langage C#

Prix (Formation inter-entreprise)

1500€ HT / personne

Durée

3 jours

Dates

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Cette formation offre un panorama de la programmation parallèle en .Net : les problématiques fondamentales, les outils bas niveau (threads, processus...) et les composants de haut niveau (TPL, PLINQ, Rx...).
L'accent sera notamment mis sur les pièges à éviter, les outils à utiliser avec modération, les bonnes pratiques à appliquer et les compromis inévitables.

Covid-19: Nous restons ouverts. Cette formation est disponible à distance.

Les objectifs

  • Prendre conscience des problématiques inhérentes à la programmation parallèle
  • Découvrir les nombreux outils mis à disposition par .Net
  • En comprendre l'évolution naturelle et les cas d'utilisation
  • Savoir mettre en oeuvre ces outils dans ses propres développements

Pré-requis

  • Développement sur la plateforme .Net avec C#
  • Ordinateur portable à apporter
  • Ordinateur portable à apporter

Le programme de la formation Programmation parallèle avec .Net et C#

Jour 1 : Les fondamentaux et la Task Parallel Library (TPL)

  • Introduction : CPU/IO-bound, loi d'Amdahl, thread et processus, dead-lock, race-condition, thread-safety
  • Le thread managé : cycle de vie, création, nommage, background/foreground, priorisation, gestion de l'annulation
  • Simplifier et optimiser en utilisant le pool de threads : avantages et limitations, utilisation, attente, pièges
  • Déclencher des traitements à intervalles réguliers avec les timers
  • Comprendre l'invocation asynchrone de délégués dans le code hérité
  • Exécuter une tâche de fond avec le background-worker
  • Simplifier et standardiser l'écriture de code parallèle avec la TPL : tâches, continuations, annulation, gestion des exceptions, qualificateur "async" en C# 5

Jour 2 : La synchronisation

  • Assurer la cohérence des données élémentaires avec les opérations atomiques : la classe Interlocked, exchange et compare-exchange
  • Comprendre les problématiques de visibilité mémoire et le modificateur volatile
  • Synchroniser les fils d'exécution : join, wait handles, mutex, sémaphores, event wait handles, comptes à rebours, barrières, spin locks, reader-writer locks, moniteurs
  • Limiter la synchronisation avec le stockage local : les classes ThreadStatic, LocalDataStoreSlot, ThreadLocal
  • Appréhender la concurrence sans lock : concurrence optimiste avec SQLite

Jour 3 : La communication et les données

  • Partager et tranférer des données entre fils d'exécution avec les collections synchronisées et le pattern producteur/consommateur
  • Comprendre le rôle crucial du partitionnement des données
  • Rendre transparente la parallélisation de code itératif avec la classe Parallel
  • Contruire des pipelines complexes de traitement de données parallélisés avec PLINQ
  • Construire des workflows avec la TPL Dataflow
  • Construire des pipelines push avec les reactive extensions (Rx) : pull/push, pattern observateur, opérateurs

Télécharger le programme

A propos de Human Coders

Human Coders c'est un centre de formation pour développeurs avec :

  • une certification Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • de nombreux clients qui nous font confiance depuis des années
  • un manifeste pour garantir des formations à taille humaine, des formateurs passionnés, de véritables workshops...
  • 83 formations au catalogue, 1015 sessions depuis nos débuts en 2012 avec une moyenne de satisfaction de 4,6/5
  • la possibilité de vous proposer un accompagnement personnalisé ou du conseil après la formation

Besoin d'aide ?

Vous souhaitez discuter avec nous à propos de votre projet de formation ?
Vous voulez plus d'information sur une formation ou notre fonctionnement ?


Rappel Email

Nos forces

  • Des formations à taille humaine
  • Des formateurs passionnés
  • Des véritables workshop
Accéder au Manifeste

Nos clients

Moody's Analytics
SAP
Société Générale
Banque Postale
Intel
Meetic

Formation Programmation parallèle avec .Net et C#

Apprenez à tirer parti des outils de programmation parallèle de .Net avec le langage C#

Cette formation offre un panorama de la programmation parallèle en .Net : les problématiques fondamentales, les outils bas niveau (threads, processus...) et les composants de haut niveau (TPL, PLINQ, Rx...).
L'accent sera notamment mis sur les pièges à éviter, les outils à utiliser avec modération, les bonnes pratiques à appliquer et les compromis inévitables.

Covid-19: Nous restons ouverts. Cette formation est disponible à distance.

Les objectifs

  • Prendre conscience des problématiques inhérentes à la programmation parallèle
  • Découvrir les nombreux outils mis à disposition par .Net
  • En comprendre l'évolution naturelle et les cas d'utilisation
  • Savoir mettre en oeuvre ces outils dans ses propres développements

Pré-requis

  • Développement sur la plateforme .Net avec C#
  • Ordinateur portable à apporter
  • Ordinateur portable à apporter

Le programme de la formation Programmation parallèle avec .Net et C#

Jour 1 : Les fondamentaux et la Task Parallel Library (TPL)

  • Introduction : CPU/IO-bound, loi d'Amdahl, thread et processus, dead-lock, race-condition, thread-safety
  • Le thread managé : cycle de vie, création, nommage, background/foreground, priorisation, gestion de l'annulation
  • Simplifier et optimiser en utilisant le pool de threads : avantages et limitations, utilisation, attente, pièges
  • Déclencher des traitements à intervalles réguliers avec les timers
  • Comprendre l'invocation asynchrone de délégués dans le code hérité
  • Exécuter une tâche de fond avec le background-worker
  • Simplifier et standardiser l'écriture de code parallèle avec la TPL : tâches, continuations, annulation, gestion des exceptions, qualificateur "async" en C# 5

Jour 2 : La synchronisation

  • Assurer la cohérence des données élémentaires avec les opérations atomiques : la classe Interlocked, exchange et compare-exchange
  • Comprendre les problématiques de visibilité mémoire et le modificateur volatile
  • Synchroniser les fils d'exécution : join, wait handles, mutex, sémaphores, event wait handles, comptes à rebours, barrières, spin locks, reader-writer locks, moniteurs
  • Limiter la synchronisation avec le stockage local : les classes ThreadStatic, LocalDataStoreSlot, ThreadLocal
  • Appréhender la concurrence sans lock : concurrence optimiste avec SQLite

Jour 3 : La communication et les données

  • Partager et tranférer des données entre fils d'exécution avec les collections synchronisées et le pattern producteur/consommateur
  • Comprendre le rôle crucial du partitionnement des données
  • Rendre transparente la parallélisation de code itératif avec la classe Parallel
  • Contruire des pipelines complexes de traitement de données parallélisés avec PLINQ
  • Construire des workflows avec la TPL Dataflow
  • Construire des pipelines push avec les reactive extensions (Rx) : pull/push, pattern observateur, opérateurs

Télécharger le programme

A propos de Human Coders

Human Coders c'est un centre de formation pour développeurs avec :

  • une certification Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • de nombreux clients qui nous font confiance depuis des années
  • un manifeste pour garantir des formations à taille humaine, des formateurs passionnés, de véritables workshops...
  • 83 formations au catalogue, 1015 sessions depuis nos débuts en 2012 avec une moyenne de satisfaction de 4,6/5
  • la possibilité de vous proposer un accompagnement personnalisé ou du conseil après la formation

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012