Freigeben über


ProcessThread Klasse

Definition

Stellt einen Prozessthread des Betriebssystems dar.

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
Vererbung
Vererbung
ProcessThread

Hinweise

Dient ProcessThread zum Abrufen von Informationen zu einem Thread, der derzeit auf dem System ausgeführt wird. Auf diese Weise können Sie beispielsweise die Leistungsmerkmale des Threads überwachen.

Von Bedeutung

Dieser Typ implementiert die IDisposable Schnittstelle. Nach Abschluss der Verwendung sollten Sie den Typ entweder direkt oder indirekt löschen. Rufen Sie die Methode Dispose in einem try/catch-Block auf, um den Typ direkt zu entsorgen. Verwenden Sie zum indirekten Löschen ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt "Verwenden eines Objekts, das IDisposable implementiert" im IDisposable Schnittstellenthema.

Ein Thread ist ein Pfad der Ausführung über ein Programm. Es ist die kleinste Ausführungseinheit, die Win32 plant. Er besteht aus einem Stapel, dem Status der CPU-Register und einem Eintrag in der Ausführungsliste des Systemplanrs.

Ein Prozess besteht aus einem oder mehreren Threads und dem Code, den Daten und anderen Ressourcen eines Programms im Arbeitsspeicher. Typische Programmressourcen sind offene Dateien, Semaphoren und dynamisch zugeordneten Arbeitsspeicher. Jede Ressource eines Prozesses wird von allen Threads dieses Prozesses gemeinsam verwendet.

Ein Programm wird ausgeführt, wenn der Systemplaner die Ausführungskontrolle für einen der Threads des Programms erhält. Der Scheduler bestimmt, welche Threads ausgeführt werden sollen und wann. Möglicherweise ist ein Thread mit niedrigerer Priorität gezwungen, zu warten, während Threads mit höherer Priorität ihre Aufgaben ausführen. Auf Multiprozessorcomputern kann der Scheduler einzelne Threads auf verschiedene Prozessoren verschieben und so die CPU-Auslastung ausgleichen.

Jeder Prozess beginnt mit einem einzelnen Thread, der als primärer Thread bezeichnet wird. Jeder Thread kann zusätzliche Threads erstellen. Alle Threads innerhalb eines Prozesses teilen den Adressraum dieses Prozesses.

Der primäre Thread befindet sich nicht unbedingt am ersten Index in der Auflistung.

Hinweis

Ab .NET Framework, Version 2.0, wurde die Möglichkeit, auf Leistungsindikatordaten auf anderen Computern zu verweisen, für viele der .NET Framework-Methoden und -Eigenschaften entfernt. Diese Änderung wurde vorgenommen, um die Leistung zu verbessern und Nichtadministratoren die Verwendung der ProcessThread Klasse zu ermöglichen. Daher erhalten einige Anwendungen, die in früheren Versionen von .NET Framework keine Ausnahmen erhalten, jetzt eine NotSupportedException. Die betroffenen Methoden und Eigenschaften sind hier zu zahlreich, aber die Ausnahmeinformationen wurden den betroffenen Memberthemen hinzugefügt.

Die Threads eines Prozesses werden einzeln ausgeführt und sind einander nicht bewusst, es sei denn, Sie machen sie füreinander sichtbar. Threads, die gemeinsame Ressourcen gemeinsam nutzen, müssen ihre Arbeit jedoch mithilfe von Semaphoren oder einer anderen Methode der Interprozesskommunikation koordinieren.

Um eine Auflistung aller Objekte abzurufen, die ProcessThread dem aktuellen Prozess zugeordnet sind, rufen Sie die Threads Eigenschaft der Process Instanz ab.

Eigenschaften

Name Beschreibung
BasePriority

Ruft die Basispriorität des Threads ab.

CanRaiseEvents

Ruft einen Wert ab, der angibt, ob die Komponente ein Ereignis auslösen kann.

(Geerbt von Component)
Container

Ruft das, das IContainer die Component.

(Geerbt von Component)
CurrentPriority

Ruft die aktuelle Priorität des Threads ab.

DesignMode

Ruft einen Wert ab, der angibt, ob sich der Component Entwurfsmodus derzeit befindet.

(Geerbt von Component)
Events

Ruft die Liste der Ereignishandler ab, die an diese Componentangefügt sind.

(Geerbt von Component)
Id

Ruft den eindeutigen Bezeichner des Threads ab.

IdealProcessor

Legt den bevorzugten Prozessor für diesen Thread fest, auf dem ausgeführt werden soll.

PriorityBoostEnabled

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Betriebssystem vorübergehend die Priorität des zugeordneten Threads erhöhen soll, wenn das Hauptfenster des Threadprozesses den Fokus erhält.

PriorityLevel

Ruft die Prioritätsebene des Threads ab oder legt diese fest.

PrivilegedProcessorTime

Ruft die Zeitspanne ab, die der Thread für die Ausführung von Code innerhalb des Betriebssystemkerns aufgewendet hat.

ProcessorAffinity

Legt die Prozessoren fest, auf denen der zugeordnete Thread ausgeführt werden kann.

Site

Dient zum ISite Abrufen oder Festlegen des Werts des Component.

(Geerbt von Component)
StartAddress

Ruft die Speicheradresse der Funktion ab, die das Betriebssystem aufgerufen hat, das diesen Thread gestartet hat.

StartTime

Ruft die Zeit ab, zu der das Betriebssystem den Thread gestartet hat.

ThreadState

Ruft den aktuellen Status dieses Threads ab.

TotalProcessorTime

Ruft die Gesamtzeit ab, die dieser Thread für die Verwendung des Prozessors aufgewendet hat.

UserProcessorTime

Ruft die Zeitspanne ab, die der zugeordnete Thread für die Ausführung von Code innerhalb der Anwendung aufgewendet hat.

WaitReason

Ruft den Grund ab, warum der Thread wartet.

Methoden

Name Beschreibung
CreateObjRef(Type)

Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird.

(Geerbt von MarshalByRefObject)
Dispose()

Veröffentlicht alle ressourcen, die von der Component.

(Geerbt von Component)
Dispose(Boolean)

Gibt die nicht verwalteten Ressourcen frei, die von den Component verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei.

(Geerbt von Component)
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetService(Type)

Gibt ein Objekt zurück, das einen Dienst darstellt, der von der Component oder dem zugehörigen ContainerDienst bereitgestellt wird.

(Geerbt von Component)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts.

(Geerbt von MarshalByRefObject)
ResetIdealProcessor()

Setzt den idealen Prozessor für diesen Thread zurück, um anzugeben, dass kein einzelner idealer Prozessor vorhanden ist. Mit anderen Worten, so dass jeder Prozessor ideal ist.

ToString()

Gibt einen String mit dem Namen des Component, falls vorhanden, zurück. Diese Methode sollte nicht außer Kraft gesetzt werden.

(Geerbt von Component)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Ereignisse

Name Beschreibung
Disposed

Tritt auf, wenn die Komponente durch einen Aufruf der Dispose() Methode verworfen wird.

(Geerbt von Component)

Gilt für:

Weitere Informationen