System.Threading Espace de noms
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit des classes et des interfaces qui activent la programmation multithread. Outre les classes pour la synchronisation des activités de thread et l’accès aux données (, , , Mutexet ainsi de suite), cet espace de noms inclut une Monitor classe qui vous permet d’utiliser un pool de threads fournis par le système et d’une Interlocked classe qui exécute des méthodes de rappel sur des threads de pool de threadsAutoResetEvent. ThreadPoolTimer
Classes
| Nom | Description |
|---|---|
| AbandonedMutexException |
Exception levée lorsqu’un thread acquiert un Mutex objet abandonné par un autre thread sans le libérer. |
| AsyncLocal<T> |
Représente les données ambiantes locales dans un flux de contrôle asynchrone donné, comme une méthode asynchrone. |
| AutoResetEvent |
Représente un événement de synchronisation de threads qui, lorsqu’il est signalé, libère un seul thread en attente, puis réinitialise automatiquement. Cette classe ne peut pas être héritée. |
| Barrier |
Permet à plusieurs tâches de travailler de manière coopérative sur un algorithme en parallèle via plusieurs phases. |
| BarrierPostPhaseException |
Exception levée lorsque l’action post-phase d’un Barrier échec échoue. |
| CancellationTokenSource |
Signale à un CancellationToken message 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 signalée lorsque son nombre atteint zéro. |
| EventWaitHandle |
Représente un événement de synchronisation de threads. |
| 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 entre les threads. |
| HostExecutionContextManager |
Fournit les fonctionnalités qui permettent à un hôte Common Language Runtime de participer au flux ou à la migration du contexte d’exécution. |
| Interlocked |
Fournit des opérations atomiques pour les variables partagées par plusieurs threads. |
| LazyInitializer |
Fournit des routines d’initialisation différées. |
| LockRecursionException |
L’exception levée lorsque l’entrée récursive dans un verrou n’est pas compatible avec la stratégie de récursivité du verrou. |
| ManualResetEvent |
Représente un événement de synchronisation de threads qui, lorsqu’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 threads qui, lorsqu’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 interprocesseur. |
| Overlapped |
Fournit une représentation managée d’une structure Win32 |
| PreAllocatedOverlapped |
Représente l’état pré-alloué pour les opérations d’E/S qui se chevauchent en mode natif. |
| ReaderWriterLock |
Définit un verrou qui prend en charge des enregistreurs uniques et plusieurs lecteurs. |
| ReaderWriterLockSlim |
Représente un verrou utilisé pour gérer l’accès à une ressource, ce qui permet à plusieurs threads de lire ou d’accéder exclusivement à l’écriture. |
| RegisteredWaitHandle |
Représente un handle qui a été 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 pouvant accéder simultanément à une ressource ou à un pool de ressources. |
| SemaphoreFullException |
Exception levée lorsque la méthode est appelée sur un sémaphore dont le Release nombre est déjà au maximum. |
| SemaphoreSlim |
Représente une alternative légère à Semaphore celle 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 différents modèles de synchronisation. |
| SynchronizationLockException |
Exception levée lorsqu’une méthode exige que l’appelant possède le verrou sur un moniteur 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 lorsqu’un appel est effectué à la Abort(Object) méthode. Cette classe ne peut pas être héritée. |
| ThreadExceptionEventArgs |
Fournit des données pour l'événement ThreadException. |
| ThreadInterruptedException |
Exception levée lorsqu’une Thread interruption est interrompue pendant qu’elle est dans un état d’attente. |
| ThreadLocal<T> |
Fournit un stockage local de threads de données. |
| ThreadPool |
Fournit un pool de threads qui peuvent être utilisés pour exécuter des tâches, publier des éléments de travail, traiter des E/S asynchrones, attendre au nom d’autres threads et minuteurs de processus. |
| 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 défaillance se produit dans un thread managé après le démarrage du thread du système d’exploitation sous-jacent, mais avant que le thread soit prêt à exécuter du code utilisateur. |
| ThreadStateException |
Exception levée lorsqu’un Thread est dans un appel de méthode non valide ThreadState . |
| Timeout |
Contient des 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 lors d’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 travailler avec un handle sécurisé pour un handle d’attente. |
Structures
| Nom | Description |
|---|---|
| AsyncFlowControl |
Fournit la fonctionnalité de restauration de la migration ou du flux du contexte d’exécution entre les threads. |
| AsyncLocalValueChangedArgs<T> |
Classe qui fournit des informations de modification de données pour AsyncLocal<T> instances qui s’inscrivent pour les notifications de modification. |
| CancellationToken |
Propage la notification indiquant que les opérations doivent être annulées. |
| CancellationTokenRegistration |
Représente un délégué de rappel qui a été inscrit auprès d’un CancellationToken. |
| LockCookie |
Définit le verrou qui implémente la sémantique mono-writer/plusieurs lecteurs. Il s’agit d’un type valeur. |
| NativeOverlapped |
Fournit une disposition explicite qui est visible à partir du code non managé et qui aura la même disposition que la structure Win32 SE CHEVAUCHER avec des champs réservés supplémentaires à la fin. |
| SpinLock |
Fournit une primitive de verrou d’exclusion mutuelle où un thread essayant d’acquérir le verrou attend à plusieurs reprises dans une boucle de vérification jusqu’à ce que le verrou soit disponible. |
| SpinWait |
Fournit la prise en charge de l’attente basée sur les spins. |
Énumérations
| Nom | Description |
|---|---|
| ApartmentState |
Spécifie l’état d’appartement d’un Thread. |
| EventResetMode |
Indique si une EventWaitHandle est réinitialisée automatiquement ou manuellement après réception d’un signal. |
| LazyThreadSafetyMode |
Spécifie comment une instance 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 d’un Thread. |
| ThreadState |
Spécifie les états d’exécution d’un Thread. |
Délégués
| Nom | Description |
|---|---|
| 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 de valeur qui se chevauchent lorsqu’une opération d’E/S se termine sur le pool de threads. |
| ParameterizedThreadStart |
Représente la méthode qui s’exécute sur un Thread. |
| SendOrPostCallback |
Représente une méthode à appeler lorsqu’un message doit être distribué dans un contexte de synchronisation. |
| ThreadExceptionEventHandler |
Représente la méthode qui gère l’événement ThreadException d’un Application. |
| ThreadStart |
Représente la méthode qui s’exécute sur un Thread. |
| TimerCallback |
Représente la méthode qui gère les appels d’un Timer. |
| WaitCallback |
Représente une méthode de rappel à exécuter par un thread de pool de threads. |
| WaitOrTimerCallback |
Représente une méthode à appeler lorsqu’un WaitHandle signal est signalé ou expire. |