Threading managéManaged Threading

Que votre développement s’applique à des ordinateurs avec un ou plusieurs processeurs, votre application doit fournir l’interaction la plus réactive avec l’utilisateur, même si l’application effectue actuellement d’autres opérations.Whether you are developing for computers with one processor or several, you want your application to provide the most responsive interaction with the user, even if the application is currently doing other work. Utiliser plusieurs threads d’exécution est l’une des manières les plus efficaces pour maintenir la réactivité de votre application vis-à-vis de l’utilisateur, tout en exploitant le processeur entre voire pendant des événements utilisateur.Using multiple threads of execution is one of the most powerful ways to keep your application responsive to the user and at the same time make use of the processor in between or even during user events. Bien que cette section présente les concepts de base du threading, elle se concentre sur les concepts de threading managé et son utilisation.While this section introduces the basic concepts of threading, it focuses on managed threading concepts and using managed threading.

Notes

À compter de .NET Framework 4, la programmation multithread est considérablement simplifiée avec les classes System.Threading.Tasks.Parallel et System.Threading.Tasks.Task, Parallel LINQ (PLINQ), de nouvelles classes de collections simultanées dans l’espace de noms System.Collections.Concurrent et un nouveau modèle de programmation basé sur le concept de tâches au lieu de threads.Starting with the .NET Framework 4, multithreaded programming is greatly simplified with the System.Threading.Tasks.Parallel and System.Threading.Tasks.Task classes, Parallel LINQ (PLINQ), new concurrent collection classes in the System.Collections.Concurrent namespace, and a new programming model that is based on the concept of tasks rather than threads. Pour plus d’informations, consultez la page Programmation parallèle.For more information, see Parallel Programming.

Dans cette sectionIn This Section

Éléments fondamentaux du threading managéManaged Threading Basics
Fournit une vue d’ensemble des threads managés et explique quand utiliser plusieurs threads.Provides an overview of managed threading and discusses when to use multiple threads.

Utilisation des threads et du threadingUsing Threads and Threading
Explique comment créer, démarrer, suspendre, reprendre et abandonner des threads.Explains how to create, start, pause, resume, and abort threads.

Bonnes pratiques de threading géréManaged Threading Best Practices
Décrit les niveaux de synchronisation, comment éviter les interblocages et les conditions de concurrence, et d’autres problèmes liés aux threads.Discusses levels of synchronization, how to avoid deadlocks and race conditions, and other threading issues.

Fonctionnalités et objets de threadingThreading Objects and Features
Décrit les classes managées que vous pouvez utiliser pour synchroniser les activités de threads et les données d’objets ouvertes sur différents threads, et fournit une vue d’ensemble des threads du pool.Describes the managed classes you can use to synchronize the activities of threads and the data of objects accessed on different threads, and provides an overview of thread pool threads.

RéférenceReference

System.Threading
Contient des classes pour l’utilisation et la synchronisation de threads managés.Contains classes for using and synchronizing managed threads.

System.Collections.Concurrent
Contient des classes de collection qui peuvent être utilisées en toute sécurité avec plusieurs threads.Contains collection classes that are safe for use with multiple threads.

System.Threading.Tasks
Contient des classes pour la création et la planification de tâches de traitement simultanées.Contains classes for creating and scheduling concurrent processing tasks.

Domaines d’applicationApplication Domains
Fournit une vue d'ensemble des domaines d'application et de leur utilisation dans le Common Language Infrastructure.Provides an overview of application domains and their use by the Common Language Infrastructure.

Asynchronous File I/OAsynchronous File I/O
Décrit les opérations élémentaires des E/S asynchrones et leurs avantages en termes de performances.Describes the performance advantages and basic operation of asynchronous I/O.

Modèle asynchrone basé sur les tâches (TAP, Task-based Asynchronous Pattern)Task-based Asynchronous Pattern (TAP)
Offre une vue d’ensemble du modèle recommandé pour la programmation asynchrone dans .NET.Provides an overview of the recommended pattern for asynchronous programming in .NET.

Appel de méthodes synchrones de façon asynchroneCalling Synchronous Methods Asynchronously
Explique comment appeler des méthodes sur les threads d’un pool à l’aide des fonctionnalités intégrées des délégués.Explains how to call methods on thread pool threads using built-in features of delegates.

Programmation parallèleParallel Programming
Décrit les bibliothèques de programmation parallèle qui simplifient l’utilisation de plusieurs threads dans les applications.Describes the parallel programming libraries, which simplify the use of multiple threads in applications.

Parallel LINQ (PLINQ)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.Describes a system for running queries in parallel, to take advantage of multiple processors.