ProcessThread 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.
Représente un thread de processus de 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
Permet ProcessThread d’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, appelez sa Dispose méthode dans un try/catch bloc. Pour la supprimer indirectement, utilisez une construction de langage telle que using (en C#) ou Using (en Visual Basic). Pour plus d’informations, consultez la section « Utilisation d’un objet implémentant IDisposable » dans la rubrique d’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 des fichiers ouverts, des sémaphores et une 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 les threads à exécuter et quand. Un thread de priorité inférieure peut être forcé d’attendre pendant 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 n’est pas nécessairement situé au premier index de la collection.
Note
À compter de .NET Framework version 2.0, la possibilité de référencer les 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 à répertorier ici, mais les informations d’exception ont été ajoutées aux rubriques membres affectées.
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 aux 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 interprocesseur.
Pour obtenir une collection de tous les ProcessThread objets associés au processus actuel, obtenez la Threads propriété de l’instance Process .
Propriétés
| Nom | Description |
|---|---|
| BasePriority |
Obtient la priorité de base du thread. |
| CanRaiseEvents |
Obtient une valeur indiquant si le composant peut déclencher un événement. (Hérité de Component) |
| Container |
Obtient le IContainer fichier qui contient le Component. (Hérité de Component) |
| CurrentPriority |
Obtient la priorité actuelle du thread. |
| DesignMode |
Obtient une valeur qui indique si la Component valeur est actuellement en mode création. (Hérité de Component) |
| Events |
Obtient la liste des gestionnaires d’événements qui sont attachés à ce Component. (Hérité de Component) |
| Id |
Obtient l’identificateur unique du thread. |
| IdealProcessor |
Définit le processeur préféré pour que ce thread s’exécute. |
| PriorityBoostEnabled |
Obtient ou définit une valeur indiquant si le système d’exploitation doit temporairement augmenter la priorité du thread 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 pendant laquelle le thread a passé à exécuter du code à l’intérieur du cœur 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 ISiteComponent. (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 le temps total passé par ce thread à l’aide du processeur. |
| UserProcessorTime |
Obtient la durée pendant laquelle le thread associé a passé du code en cours d’exécution à l’intérieur de l’application. |
| WaitReason |
Obtient la raison pour laquelle le thread attend. |
Méthodes
| Nom | Description |
|---|---|
| CreateObjRef(Type) |
Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
| Dispose() |
Libère toutes les ressources utilisées par le Component. (Hérité de Component) |
| Dispose(Boolean) |
Libère les ressources non managées utilisées par les Component ressources gérées 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() |
Sert 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 actuel 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 le Component ou par son Container. (Hérité de Component) |
| GetType() |
Obtient la 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 Objectactuel. (Hérité de Object) |
| MemberwiseClone(Boolean) |
Crée une copie superficielle de l’objet actuel MarshalByRefObject . (Hérité de MarshalByRefObject) |
| ResetIdealProcessor() |
Réinitialise le processeur idéal pour ce thread pour indiquer qu’il n’existe aucun processeur idéal unique. En d’autres termes, afin que tout processeur soit idéal. |
| ToString() |
Retourne un String nom contenant le nom du Component, le cas échéant. 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
| Nom | Description |
|---|---|
| Disposed |
Se produit lorsque le composant est supprimé par un appel à la Dispose() méthode. (Hérité de Component) |