Thread Classe
Définition
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.
Crée et contrôle un thread, définit sa priorité et obtient son état.
public ref class Thread sealed : System::Runtime::InteropServices::_Thread
public ref class Thread sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject, System::Runtime::InteropServices::_Thread
public ref class Thread sealed : System::Runtime::ConstrainedExecution::CriticalFinalizerObject
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public sealed class Thread : System.Runtime.InteropServices._Thread
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class Thread : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, System.Runtime.InteropServices._Thread
public sealed class Thread : System.Runtime.ConstrainedExecution.CriticalFinalizerObject
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type Thread = class
interface _Thread
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Thread = class
inherit CriticalFinalizerObject
interface _Thread
type Thread = class
inherit CriticalFinalizerObject
Public NotInheritable Class Thread
Implements _Thread
Public NotInheritable Class Thread
Inherits CriticalFinalizerObject
Implements _Thread
Public NotInheritable Class Thread
Inherits CriticalFinalizerObject
- Héritage
-
Thread
- Héritage
- Attributs
- Implémente
Remarques
Pour plus d’informations sur cette API, consultez les remarques d’API supplémentaires pour Thread.
Constructeurs
| Nom | Description |
|---|---|
| Thread(ParameterizedThreadStart, Int32) |
Initialise une nouvelle instance de la Thread classe, en spécifiant un délégué qui permet à un objet d’être transmis au thread lorsque le thread est démarré et en spécifiant la taille de pile maximale pour le thread. |
| Thread(ParameterizedThreadStart) |
Initialise une nouvelle instance de la Thread classe, en spécifiant un délégué qui permet à un objet d’être transmis au thread au démarrage du thread. |
| Thread(ThreadStart, Int32) |
Initialise une nouvelle instance de la Thread classe, en spécifiant la taille maximale de la pile pour le thread. |
| Thread(ThreadStart) |
Initialise une nouvelle instance de la classe Thread. |
Propriétés
| Nom | Description |
|---|---|
| ApartmentState |
Obsolète.
Obtient ou définit l’état d’appartement de ce thread. |
| CurrentContext |
Obtient le contexte actuel dans lequel le thread s’exécute. |
| CurrentCulture |
Obtient ou définit la culture du thread actuel. |
| CurrentPrincipal |
Obtient ou définit le principal actuel du thread (pour la sécurité basée sur les rôles). |
| CurrentThread |
Obtient le thread en cours d’exécution. |
| CurrentUICulture |
Obtient ou définit la culture actuelle utilisée par Resource Manager pour rechercher des ressources spécifiques à la culture au moment de l’exécution. |
| ExecutionContext |
Obtient un ExecutionContext objet qui contient des informations sur les différents contextes du thread actuel. |
| IsAlive |
Obtient une valeur indiquant l’état d’exécution du thread actuel. |
| IsBackground |
Obtient ou définit une valeur indiquant si un thread est ou non un thread d’arrière-plan. |
| IsThreadPoolThread |
Obtient une valeur indiquant si un thread appartient ou non au pool de threads managés. |
| ManagedThreadId |
Obtient un identificateur unique pour le thread managé actuel. |
| Name |
Obtient ou définit le nom du thread. |
| Priority |
Obtient ou définit une valeur indiquant la priorité de planification d’un thread. |
| ThreadState |
Obtient une valeur contenant les états du thread actuel. |
Méthodes
| Nom | Description |
|---|---|
| Abort() |
Déclenche un ThreadAbortException thread sur lequel il est appelé pour commencer le processus de fin du thread. L’appel de cette méthode met généralement fin au thread. |
| Abort(Object) |
Déclenche un ThreadAbortException thread sur lequel il est appelé, pour commencer le processus de fin du thread tout en fournissant des informations d’exception sur l’arrêt du thread. L’appel de cette méthode met généralement fin au thread. |
| AllocateDataSlot() |
Alloue un emplacement de données sans nom sur tous les threads. Pour de meilleures performances, utilisez plutôt des champs marqués avec l’attribut ThreadStaticAttribute . |
| AllocateNamedDataSlot(String) |
Alloue un emplacement de données nommé sur tous les threads. Pour de meilleures performances, utilisez plutôt des champs marqués avec l’attribut ThreadStaticAttribute . |
| BeginCriticalRegion() |
Avertit un hôte que l’exécution est sur le point d’entrer une région de code dans laquelle les effets d’une exception abandonnée ou non gérée peuvent compromettre d’autres tâches dans le domaine de l’application. |
| BeginThreadAffinity() |
Avertit un hôte que le code managé est sur le point d’exécuter des instructions qui dépendent de l’identité du thread de système d’exploitation physique actuel. |
| DisableComObjectEagerCleanup() |
Désactive le nettoyage automatique des wrappers pouvant être appelé au runtime (RCW) pour le thread actuel. |
| EndCriticalRegion() |
Avertit un hôte que l’exécution est sur le point d’entrer une région de code dans laquelle les effets d’une exception d’abandon de thread ou d’exception non gérée sont limités à la tâche actuelle. |
| EndThreadAffinity() |
Avertit un hôte que le code managé a terminé d’exécuter des instructions qui dépendent de l’identité du thread de système d’exploitation physique actuel. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| Finalize() |
Garantit que les ressources sont libérées et que d’autres opérations de nettoyage sont effectuées lorsque le garbage collector récupère l’objet Thread . |
| FreeNamedDataSlot(String) |
Élimine l’association entre un nom et un emplacement, pour tous les threads du processus. Pour de meilleures performances, utilisez plutôt des champs marqués avec l’attribut ThreadStaticAttribute . |
| GetApartmentState() |
Retourne une ApartmentState valeur indiquant l’état de l’appartement. |
| GetCompressedStack() |
Obsolète.
Retourne un CompressedStack objet qui peut être utilisé pour capturer la pile pour le thread actuel. |
| GetCurrentProcessorId() |
Obtient un ID utilisé pour indiquer sur quel processeur le thread actuel est en cours d’exécution. |
| GetData(LocalDataStoreSlot) |
Récupère la valeur de l’emplacement spécifié sur le thread actuel, dans le domaine actuel du thread actuel. Pour de meilleures performances, utilisez plutôt des champs marqués avec l’attribut ThreadStaticAttribute . |
| GetDomain() |
Retourne le domaine actuel dans lequel le thread actuel est en cours d’exécution. |
| GetDomainID() |
Retourne un identificateur de domaine d’application unique. |
| GetHashCode() |
Retourne un code de hachage pour le thread actuel. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetNamedDataSlot(String) |
Recherche un emplacement de données nommé. Pour de meilleures performances, utilisez plutôt des champs marqués avec l’attribut ThreadStaticAttribute . |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| Interrupt() |
Interrompt un thread qui se trouve dans l’état du WaitSleepJoin thread. |
| Join() |
Bloque le thread appelant jusqu’à ce que le thread représenté par cette instance se termine, tout en continuant à effectuer des opérations COM et |
| Join(Int32) |
Bloque le thread appelant jusqu’à ce que le thread représenté par cette instance se termine ou que le temps spécifié s’écoule, tout en continuant à effectuer une pompe COM et SendMessage standard. |
| Join(TimeSpan) |
Bloque le thread appelant jusqu’à ce que le thread représenté par cette instance se termine ou que le temps spécifié s’écoule, tout en continuant à effectuer une pompe COM et SendMessage standard. |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| MemoryBarrier() |
Synchronise l’accès à la mémoire comme suit : le processeur exécutant le thread actuel ne peut pas réorganiser les instructions de telle façon que la mémoire accède avant l’appel pour MemoryBarrier() s’exécuter après les accès à la mémoire qui suivent l’appel.MemoryBarrier() |
| ResetAbort() |
Annule une Abort(Object) demande pour le thread actuel. |
| Resume() |
Obsolète.
Obsolète.
Reprend un thread qui a été suspendu. |
| SetApartmentState(ApartmentState) |
Définit l’état d’appartement d’un thread avant son démarrage. |
| SetCompressedStack(CompressedStack) |
Obsolète.
Applique une capture CompressedStack au thread actuel. |
| SetData(LocalDataStoreSlot, Object) |
Définit les données dans l’emplacement spécifié sur le thread en cours d’exécution, pour le domaine actuel de ce thread. Pour de meilleures performances, utilisez plutôt des champs marqués avec l’attribut ThreadStaticAttribute . |
| Sleep(Int32) |
Suspend le thread actuel pour le nombre spécifié de millisecondes. |
| Sleep(TimeSpan) |
Suspend le thread actuel pour la durée spécifiée. |
| SpinWait(Int32) |
Provoque l’attente d’un thread au nombre de fois défini par le |
| Start() |
Provoque le changement de l’état de l’instance Runningactuelle par le système d’exploitation. |
| Start(Object) |
Provoque le changement de l’état de l’instance Runningactuelle par le système d’exploitation et fournit éventuellement un objet contenant des données à utiliser par la méthode exécutée par le thread. |
| Suspend() |
Obsolète.
Obsolète.
Suspend le thread, ou si le thread est déjà suspendu, n’a aucun effet. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
| TrySetApartmentState(ApartmentState) |
Définit l’état d’appartement d’un thread avant son démarrage. |
| VolatileRead(Byte) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileRead(Double) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileRead(Int16) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileRead(Int32) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileRead(Int64) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileRead(IntPtr) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileRead(Object) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileRead(SByte) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileRead(Single) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileRead(UInt16) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileRead(UInt32) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileRead(UInt64) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileRead(UIntPtr) |
Lit la valeur d’un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît après cette méthode dans le code, le processeur ne peut pas le déplacer avant cette méthode. |
| VolatileWrite(Byte, Byte) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| VolatileWrite(Double, Double) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| VolatileWrite(Int16, Int16) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| VolatileWrite(Int32, Int32) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| VolatileWrite(Int64, Int64) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| VolatileWrite(IntPtr, IntPtr) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| VolatileWrite(Object, Object) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| VolatileWrite(SByte, SByte) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| VolatileWrite(Single, Single) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| VolatileWrite(UInt16, UInt16) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| VolatileWrite(UInt32, UInt32) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| VolatileWrite(UInt64, UInt64) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| VolatileWrite(UIntPtr, UIntPtr) |
Écrit une valeur dans un champ. Sur les systèmes qui en ont besoin, insère une barrière de mémoire qui empêche le processeur de réorganiser les opérations de mémoire comme suit : si une lecture ou une écriture apparaît avant cette méthode dans le code, le processeur ne peut pas le déplacer après cette méthode. |
| Yield() |
Oblige le thread appelant à céder l'exécution à un autre thread prêt à s'exécuter sur le processeur actuel. Le système d’exploitation sélectionne le thread à générer. |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| _Thread.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. |
| _Thread.GetTypeInfo(UInt32, UInt32, IntPtr) |
Récupère les informations de type pour un objet, qui peuvent être utilisées ensuite pour obtenir les informations de type d'une interface. |
| _Thread.GetTypeInfoCount(UInt32) |
Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). |
| _Thread.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fournit l’accès aux propriétés et méthodes exposées par un objet. |
S’applique à
Cohérence de thread
Ce type est thread safe.