ProcessThread Classe

Définition

Représente un thread de processus du système d'exploitation.

public ref class ProcessThread : System::ComponentModel::Component
public ref class ProcessThread
public class ProcessThread : System.ComponentModel.Component
public class ProcessThread
type ProcessThread = class
    inherit Component
type ProcessThread = class
Public Class ProcessThread
Inherits Component
Public Class ProcessThread
Héritage
Héritage
ProcessThread

Remarques

Utilisez ProcessThread pour obtenir des informations sur un thread en cours d’exécution sur le système. Cela vous permet, par exemple, de surveiller les caractéristiques de performances du thread.

Important

Ce type implémente l'interface IDisposable. Une fois que vous avez fini d’utiliser le type, vous devez le supprimer directement ou indirectement. Pour supprimer directement le type Dispose, appelez sa méthode dans un bloc try/catch. Pour la supprimer indirectement, utilisez une construction de langage telle que using (dans C#) ou Using (dans Visual Basic). Pour plus d’informations, consultez la section « Utilisation d’un objet qui implémente IDisposable » dans la rubrique de l’interface IDisposable.

Un thread est un chemin d’exécution via un programme. Il s’agit de la plus petite unité d’exécution planifiée par Win32. Il se compose d’une pile, de l’état des registres du processeur et d’une entrée dans la liste d’exécution du planificateur système.

Un processus se compose d’un ou plusieurs threads et du code, des données et d’autres ressources d’un programme en mémoire. Les ressources de programme standard sont les fichiers ouverts, les sémaphores et la mémoire allouée dynamiquement. Chaque ressource d’un processus est partagée par tous les threads de ce processus.

Un programme s’exécute lorsque le planificateur système donne le contrôle d’exécution à l’un des threads du programme. Le planificateur détermine quels threads doivent s’exécuter et quand. Un thread de priorité inférieure peut être obligé d’attendre que les threads de priorité supérieure terminent leurs tâches. Sur les ordinateurs multiprocesseurs, le planificateur peut déplacer des threads individuels vers différents processeurs, ce qui équilibre la charge du processeur.

Chaque processus commence par un thread unique, appelé thread principal. N’importe quel thread peut créer des threads supplémentaires. Tous les threads d’un processus partagent l’espace d’adressage de ce processus.

Le thread principal ne se trouve pas nécessairement au premier index de la collection.

Notes

À compter de la version 2.0 du .NET Framework, la possibilité de référencer des données de compteur de performances sur d’autres ordinateurs a été supprimée pour la plupart des méthodes et propriétés du .NET Framework. Cette modification a été apportée pour améliorer les performances et permettre aux non-administrateurs d’utiliser la ProcessThread classe . Par conséquent, certaines applications qui n’ont pas obtenu d’exceptions dans les versions antérieures du .NET Framework peuvent maintenant obtenir un NotSupportedException. Les méthodes et propriétés affectées sont trop nombreuses pour être listées ici, mais les informations sur les exceptions ont été ajoutées aux rubriques du membre concerné.

Les threads d’un processus s’exécutent individuellement et ne sont pas conscients les uns des autres, sauf si vous les rendez visibles les uns par les autres. Toutefois, les threads qui partagent des ressources communes doivent coordonner leur travail à l’aide de sémaphores ou d’une autre méthode de communication interprocessus.

Pour obtenir une collection de tous les ProcessThread objets associés au processus actuel, obtenez la Threads propriété du Process instance.

Propriétés

BasePriority

Obtient la priorité de base du thread.

CanRaiseEvents

Obtient une valeur qui indique si le composant peut déclencher un événement.

(Hérité de Component)
Container

Obtient le IContainer qui contient la Component.

(Hérité de Component)
CurrentPriority

Obtient la priorité actuelle du thread.

DesignMode

Obtient une valeur qui indique si Component est actuellement en mode design.

(Hérité de Component)
Events

Obtient la liste des gestionnaires d'événements attachés à ce Component.

(Hérité de Component)
Id

Obtient l'identificateur unique du thread.

IdealProcessor

Définit le processeur par défaut sur lequel exécuter ce thread.

PriorityBoostEnabled

Obtient ou définit une valeur indiquant si le système d'exploitation doit renforcer temporairement la priorité du thread qui lui est associé chaque fois que la fenêtre principale du processus du thread reçoit le focus.

PriorityLevel

Obtient ou définit le niveau de priorité du thread.

PrivilegedProcessorTime

Obtient la durée d'exécution du code par le thread à l'intérieur du noyau du système d'exploitation.

ProcessorAffinity

Définit les processeurs sur lesquels le thread associé peut s'exécuter.

Site

Obtient ou définit le ISite de Component.

(Hérité de Component)
StartAddress

Obtient l'adresse mémoire de la fonction appelée par le système d'exploitation qui a démarré ce thread.

StartTime

Obtient l'heure à laquelle le système d'exploitation a démarré le thread.

ThreadState

Obtient l'état actuel de ce thread.

TotalProcessorTime

Obtient la durée totale d'utilisation du processeur par ce thread.

UserProcessorTime

Obtient la durée d'exécution du code par le thread associé au sein de l'application.

WaitReason

Obtient la raison pour laquelle le thread est en attente.

Méthodes

CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.

(Hérité de MarshalByRefObject)
Dispose()

Libère toutes les ressources utilisées par Component.

(Hérité de Component)
Dispose(Boolean)

Libère les ressources non managées utilisées par Component et libère éventuellement les ressources managées.

(Hérité de Component)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()
Obsolète.

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetService(Type)

Retourne un objet qui représente un service fourni par Component ou par son Container.

(Hérité de Component)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InitializeLifetimeService()
Obsolète.

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.

(Hérité de MarshalByRefObject)
ResetIdealProcessor()

Réinitialise le processeur idéal pour ce thread afin d'indiquer qu'il n'existe aucun processeur idéal. En d'autres termes, cela signifie que tous les processeurs sont idéaux.

ToString()

Retourne un String contenant le nom du Component, s’il en existe un. Cette méthode ne doit pas être remplacée.

(Hérité de Component)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Événements

Disposed

Se produit lorsque le composant est supprimé par un appel à la méthode Dispose().

(Hérité de Component)

S’applique à

Voir aussi