Threading managé
Que vous développiez pour des ordinateurs équipés d'un ou de plusieurs processeurs, vous voulez que vos applications fournissent l'interaction la plus efficace avec l'utilisateur, même si l'application est impliquée dans d'autres processus. L'utilisation de plusieurs threads d'exécution est l'une des manières les plus efficaces de conserver la réactivité de votre application par rapport à l'utilisateur et d'utiliser en même temps le processeur entre ou même durant les événements utilisateur. Cette section est une introduction aux concepts fondamentaux des threads. Elle se concentre sur les concepts des threads managés et l'utilisation des threads managés.
Remarque |
---|
Depuis le .NET Framework version 4, la programmation multithread est considérablement simplifiée grâce aux classes System.Threading.Tasks.Task et System.Threading.Tasks.Parallel, à Parallel LINQ (PLINQ), aux nouvelles classes de collection simultanées dans l'espace de noms System.Collections.Concurrent et à un nouveau modèle de programmation basé sur le concept de tâches plutôt que de threads.Pour plus d'informations, consultez Programmation parallèle dans le .NET Framework. |
Dans cette section
Éléments fondamentaux du threading managé
Fournit une vue d'ensemble des threads managés et explique quand utiliser plusieurs threads.Utilisation des threads et du threading
Explique comment créer, démarrer, suspendre, reprendre et abandonner des threads.Meilleures pratiques pour le threading managé
Explique les niveaux de synchronisation, comment éviter des conditions de concurrence critique et d'interblocages, les ordinateurs à un seul processeur et à plusieurs processeurs, et d'autres questions relatives aux threads.Fonctionnalités et objets de threading
Décrit les classes managées que vous pouvez utiliser pour synchroniser les activités des threads et les données d'objets faisant l'objet d'un accès sur différents threads, et fournit une vue d'ensemble des threads du pool.
Référence
System.Threading
Contient des classes pour l'utilisation et la synchronisation des threads managés.System.Collections.Concurrent
Contient des classes de collection qui peuvent être utilisées en toute sécurité avec plusieurs threads.System.Threading.Tasks
Contient des classes permettant de créer et de planifier des tâches de traitement simultanées.
Sections connexes
Domaines d'application
Fournit une vue d'ensemble des domaines d'application et leur utilisation par l'infrastructure du langage commun (CLI).E/S sur fichier asynchrones
Décrit les opérations élémentaires des E/S asynchrones et leurs avantages en termes de performances.Modèles de conception pour la programmation asynchrone
Fournit une vue d'ensemble de la programmation asynchroneAppel de méthodes synchrones de façon asynchrone
Explique comment appeler des méthodes sur des threads du pool de threads à l'aide des fonctionnalités intégrées des délégués.Programmation parallèle dans le .NET Framework
Décrit les bibliothèques de programmation parallèles, lesquelles simplifient l'utilisation de plusieurs threads dans des applications.Parallel LINQ (PLINQ)
Décrit un système permettant d'exécuter des requêtes en parallèle, afin de tirer parti de plusieurs processeurs.