Partager via


System.Threading Espace de noms

Fournit des classes et des interfaces qui permettent la programmation multithread. En plus des classes destinées à la synchronisation des activités des threads et de l’accès aux données (Mutex, Monitor, Interlocked, AutoResetEvent, etc.), cet espace de noms comprend une classe ThreadPool qui permet d’utiliser un pool de threads fournis par le système et une classe Timer qui exécute des méthodes de rappel sur les threads du pool.

Classes

AbandonedMutexException

Exception levée lorsqu'un thread acquiert un objet Mutex qu'un autre thread a abandonné en se terminant sans le libérer.

AsyncLocal<T>

Représente les données ambiantes qui sont locales à un flux de contrôle asynchrone donné, par exemple une méthode asynchrone.

AutoResetEvent

Représente un événement de synchronisation de thread qui, lorsqu’il est signalé, libère un seul thread en attente, puis se réinitialise automatiquement. Cette classe ne peut pas être héritée.

Barrier

Permet à plusieurs tâches de coopérer en parallèle sur un algorithme via plusieurs phases.

BarrierPostPhaseException

Exception levée en cas d’échec de l’action postphase de Barrier.

CancellationTokenSource

Signale à un CancellationToken qu'il doit être annulé.

CompressedStack

Fournit des méthodes pour définir et capturer la pile compressée sur le thread actuel. Cette classe ne peut pas être héritée.

CountdownEvent

Représente une primitive de synchronisation qui est signalée lorsque son décompte atteint zéro.

EventWaitHandle

Représente un événement de synchronisation de threads.

EventWaitHandleAcl

Fournit une méthode d’extension propre à Windows pour la création d’objets EventWaitHandle avec une sécurité de liste de contrôle d’accès (ACL) spécifique.

ExecutionContext

Gère le contexte d'exécution du thread actuel. Cette classe ne peut pas être héritée.

HostExecutionContext

Encapsule et propage le contexte d'exécution de l'hôte à travers des threads.

HostExecutionContextManager

Fournit les fonctionnalités qui permettent à un hôte du Common Language Runtime de participer au flux, ou migration, du contexte d'exécution.

Interlocked

Fournit des opérations atomiques pour des variables partagées par plusieurs threads.

LazyInitializer

Fournit des routines d'initialisation tardives.

Lock

Fournit un mécanisme permettant d’obtenir une exclusion mutuelle dans les régions de code entre différents threads.

LockRecursionException

Exception levée lorsque l'entrée récursive dans un verrou n'est pas compatible avec la stratégie de récurrence pour le verrou.

ManualResetEvent

Représente un événement de synchronisation de thread qui, quand il est signalé, doit être réinitialisé manuellement. Cette classe ne peut pas être héritée.

ManualResetEventSlim

Représente un événement de synchronisation de thread qui, quand il est signalé, doit être réinitialisé manuellement. Cette classe est une alternative légère à ManualResetEvent.

Monitor

Fournit un mécanisme qui synchronise l'accès aux objets.

Mutex

Primitive de synchronisation qui peut également être utilisée pour la synchronisation entre processus.

MutexAcl

Fournit une méthode d’extension propre à Windows pour la création d’objets Mutex avec une sécurité de liste de contrôle d’accès (ACL) spécifique.

Overlapped

Fournit une représentation managée d’une structure OVERLAPPED Win32, notamment les méthodes pour transférer des informations d’une instance Overlapped à une structure NativeOverlapped.

PeriodicTimer

Fournit un minuteur périodique qui permet d’attendre de façon asynchrone les graduations du minuteur.

PreAllocatedOverlapped

Représente l’état préalloué pour les opérations d’E/S natives avec chevauchement.

ReaderWriterLock

Définit un verrou qui prend en charge les writers uniques et les lecteurs multiples.

ReaderWriterLockSlim

Représente un verrou utilisé pour gérer l'accès à une ressource, en autorisant plusieurs threads pour la lecture ou un accès exclusif en écriture.

RegisteredWaitHandle

Représente un handle inscrit lors de l'appel à RegisterWaitForSingleObject(WaitHandle, WaitOrTimerCallback, Object, UInt32, Boolean). Cette classe ne peut pas être héritée.

Semaphore

Limite le nombre de threads qui peuvent accéder simultanément à une ressource ou à un pool de ressources.

SemaphoreAcl

Fournit une méthode d’extension propre à Windows pour la création d’objets Semaphore avec une sécurité de liste de contrôle d’accès (ACL) spécifique.

SemaphoreFullException

Exception levée quand la méthode Release est appelée sur un sémaphore dont le compteur est déjà à la valeur maximale.

SemaphoreSlim

Représente une alternative légère à Semaphore qui limite le nombre de threads pouvant accéder simultanément à une ressource ou à un pool de ressources.

SynchronizationContext

Fournit les fonctionnalités de base pour propager un contexte de synchronisation dans plusieurs modèles de synchronisation.

SynchronizationLockException

Exception levée lorsqu'une méthode exige de l'appelant qu'il possède un verrou sur un objet Monitor donné et que la méthode est appelée par un appelant qui ne possède pas ce verrou.

Thread

Crée et contrôle un thread, définit sa priorité et obtient son état.

ThreadAbortException

Exception levée lors d'un appel adressé à la méthode Abort(Object). Cette classe ne peut pas être héritée.

ThreadExceptionEventArgs

Fournit des données pour l'événement ThreadException.

ThreadingAclExtensions

Fournit des méthodes d’extension propres à Windows pour gérer les descripteurs de sécurité de la liste de contrôle d’accès (ACL) pour EventWaitHandle, Mutex et Semaphore.

ThreadInterruptedException

Exception levée lorsque l'interruption survient alors que Threadest en état d'attente.

ThreadLocal<T>

Fournit le stockage local des données de thread.

ThreadPool

Fournit un pool de threads qui peuvent servir à exécuter des tâches, publier des éléments de travail, traiter des E/S asynchrones, attendre au nom d’autres threads et traiter des minuteries.

ThreadPoolBoundHandle

Représente un handle d’E/S lié au pool de threads système et permet aux composants de bas niveau de recevoir des notifications pour les opérations d’E/S asynchrones.

ThreadStartException

Exception levée lorsqu'une erreur se produit dans un thread managé après le démarrage du thread de système d'exploitation sous-jacent, mais avant que le thread soit prêt à exécuter le code utilisateur.

ThreadStateException

Exception qui est levée lorsque Thread est dans un état ThreadState non valide pour l'appel de méthode.

Timeout

Contient les constantes qui spécifient des intervalles de délai d'attente infinis. Cette classe ne peut pas être héritée.

Timer

Fournit un mécanisme permettant d'exécuter une méthode sur un thread de pool de threads à intervalles spécifiés. Cette classe ne peut pas être héritée.

Volatile

Contient des méthodes pour effectuer des opérations de mémoire volatile.

WaitHandle

Encapsule des objets spécifiques au système d'exploitation, qui attendent un accès exclusif aux ressources partagées.

WaitHandleCannotBeOpenedException

Exception levée durant une tentative d’ouverture d’un mutex système, d’un sémaphore ou d’un handle d’attente d’événement qui n’existe pas.

WaitHandleExtensions

Fournit des méthodes pratiques pour utiliser un handle sécurisé pour un handle d'attente.

Structures

AsyncFlowControl

Fournit les fonctionnalités pour restaurer la migration, ou le flux, du contexte d'exécution entre threads.

AsyncLocalValueChangedArgs<T>

Classe qui fournit les informations de modification des données aux instances de AsyncLocal<T> qui s'inscrivent pour les notifications de modification.

CancellationToken

Propage une notification indiquant que des opérations doivent être annulées.

CancellationTokenRegistration

Représente un délégué de rappel inscrit avec un CancellationToken.

Lock.Scope

Représente un Lock qui a peut-être été entré.

LockCookie

Définit le verrou qui implémente une sémantique writer unique / lecteurs multiples. Il s'agit d'un type valeur.

NativeOverlapped

Fournit une disposition explicite qui est visible à partir de code non managé et qui aura la même disposition que la structure Win32 OVERLAPPED avec des champs réservés supplémentaires à la fin.

SpinLock

Fournit une primitive de verrou d'exclusion mutuelle où un thread, qui tente d'acquérir le verrou, attend dans une boucle en effectuant des vérifications de manière répétée jusqu'à ce que le verrou devienne disponible.

SpinWait

Prend en charge l'attente basée sur les spins.

Interfaces

IThreadPoolWorkItem

Représente un élément de travail qui peut être exécuté par le ThreadPool.

ITimer

Représente un minuteur dont l’heure et la période d’échéance peuvent être modifiées.

Énumérations

ApartmentState

Spécifie l'état apartment (cloisonné) de Thread.

EventResetMode

Indique si un EventWaitHandle est réinitialisé automatiquement ou manuellement après la réception d'un signal.

LazyThreadSafetyMode

Spécifie comment une instance de Lazy<T> synchronise l’accès entre plusieurs threads.

LockRecursionPolicy

Spécifie si un verrou peut être entré plusieurs fois par le même thread.

ThreadPriority

Spécifie la priorité de planification de Thread.

ThreadState

Spécifie les états d'exécution de Thread.

Délégués

ContextCallback

Représente une méthode à appeler dans un nouveau contexte.

IOCompletionCallback

Reçoit le code d'erreur, le nombre d'octets et le type valeur chevauché lorsqu'une opération d'E/S est effectuée sur le pool de threads.

ParameterizedThreadStart

Représente la méthode qui s’exécute sur un élément Thread.

SendOrPostCallback

Représente une méthode à appeler lorsqu’un message doit être distribué à un contexte de synchronisation.

ThreadExceptionEventHandler

Représente la méthode qui gérera l’événement ThreadException d’un Application.

ThreadStart

Représente la méthode qui s’exécute sur un élément Thread.

TimerCallback

Représente la méthode qui gère des appels d'un Timer.

WaitCallback

Représente une méthode de rappel qu'un thread du pool doit exécuter.

WaitOrTimerCallback

Représente une méthode à appeler lorsqu'un WaitHandle est signalé ou expire.