Programmation parallèle en .NET

De nombreux ordinateurs personnels et stations de travail ont plusieurs cœurs de processeur qui permettent à plusieurs threads de s’exécuter simultanément. Pour tirer parti du matériel, vous pouvez paralléliser votre code pour distribuer le travail sur plusieurs processeurs.

Dans le passé, la parallélisation nécessitait un niveau peu élevé de manipulation de threads et de verrous. Visual Studio et .NET améliorent la prise en charge de la programmation parallèle en fournissant un Runtime, des types de bibliothèques de classes et des outils de diagnostic. Ces fonctionnalités, qui ont été introduites dans .NET Framework 4, simplifient le développement parallèle. Vous pouvez écrire du code parallèle efficace, à grains fins et évolutif dans un idiome naturel sans devoir utiliser directement des threads ou le pool de threads.

L’illustration suivante fournit une vue d’ensemble globale de l’architecture de programmation parallèle dans .NET.

Architecture de programmation parallèle du .NET

Technology Description
Bibliothèque parallèle de tâches Fournit la documentation pour la classe System.Threading.Tasks.Parallel, qui inclut des versions parallèles de For et des boucles ForEach, et également pour la classe System.Threading.Tasks.Task, qui représente la meilleure façon d'exprimer des opérations asynchrones.
Parallel LINQ (PLINQ) Implémentation parallèle de LINQ to Objects qui améliore de manière significative la performance dans de nombreux scénarios.
Structures de données pour la programmation parallèle Fournit des liens vers la documentation pour les classes de collection thread-safe, les types de synchronisation légers et les types pour l’initialisation tardive.
Outils de diagnostic parallèle Fournit des liens vers la documentation relative aux fenêtres du débogueur Visual Studio pour les tâches et les piles parallèles, et au Visualiseur concurrentiel.
Partitionneurs personnalisés pour PLINQ et la bibliothèque parallèle de tâches (TPL) Décrit le fonctionnement des partitionneurs et comment configurer les partitionneurs par défaut ou en créer.
Planificateurs de tâches Décrit le fonctionnement des planificateurs et comment les planificateurs par défaut peuvent être configurés.
Expressions lambda dans PLINQ et TPL Fournit une vue d’ensemble d’expressions lambda en C# et Visual Basic, et affiche comment elles sont utilisées dans PLINQ et la bibliothèque parallèle de tâches.
Pour plus d’informations Fournit des liens vers des informations supplémentaires et des exemples de ressources pour la programmation parallèle dans .NET.

Voir aussi