Freigeben über


ProcessThread Klasse

Definition

Stellt einen Prozessthread für ein Betriebssystem 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

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

Wichtig

Dieser Typ implementiert die IDisposable-Schnittstelle. Nach Abschluss der Verwendung sollten Sie den Typ entweder direkt oder indirekt löschen. Zum direkten Löschen des Typs rufen Sie seine Dispose-Methode in einem try/catch-Block auf. Zum indirekten Löschen verwenden Sie ein Sprachkonstrukt wie using (in C#) oder Using (in Visual Basic). Weitere Informationen finden Sie im Abschnitt „Verwenden eines Objekts, das IDisposable implementiert“ des Themas „Die IDisposable-Schnittstelle“.

Ein Thread ist ein Ausführungspfad durch ein Programm. Es ist die kleinste Ausführungseinheit, die Win32 plant. Sie besteht aus einem Stapel, dem Zustand der CPU-Register und einem Eintrag in der Ausführungsliste des Systemplaners.

Ein Prozess besteht aus einem oder mehreren Threads und dem Code, den Daten und anderen Ressourcen eines Programms im Arbeitsspeicher. Typische Programmressourcen sind geöffnete Dateien, Semaphore und dynamisch zugeordneter Arbeitsspeicher. Jede Ressource eines Prozesses wird von allen Threads dieses Prozesses gemeinsam genutzt.

Ein Programm wird ausgeführt, wenn der Systemplaner die Ausführungssteuerung für einen der Threads des Programms erteilt. Der Scheduler bestimmt, welche Threads wann ausgeführt werden sollen. Ein Thread mit niedrigerer Priorität kann zum Warten gezwungen werden, während Threads mit höherer Priorität ihre Aufgaben ausführen. Auf Computern mit mehreren Prozessoren kann der Scheduler einzelne Threads auf verschiedene Prozessoren verschieben und so die CPU-Last ausgleichen.

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

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

Hinweis

Ab der .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 nicht mehr möglich. Diese Änderung wurde vorgenommen, um die Leistung zu verbessern und es Nicht-Administratoren zu ermöglichen, die ProcessThread Klasse zu verwenden. Daher erhalten einige Anwendungen, die in früheren Versionen der .NET Framework keine Ausnahmen erhalten haben, jetzt eine NotSupportedException. Die betroffenen Methoden und Eigenschaften sind zu zahlreich, um sie hier aufzulisten, aber die Ausnahmeinformationen wurden den betroffenen Memberthemen hinzugefügt.

Die Threads eines Prozesses werden einzeln ausgeführt und kennen einander nicht, 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 des Process instance ab.

Eigenschaften

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 die IContainer ab, die in der Component enthalten ist.

(Geerbt von Component)
CurrentPriority

Ruft die aktuelle Priorität des Threads ab.

DesignMode

Ruft einen Wert ab, der angibt, ob sich Component gegenwärtig im Entwurfsmodus befindet.

(Geerbt von Component)
Events

Ruft die Liste der Ereignishandler ab, die dieser Component angefügt sind.

(Geerbt von Component)
Id

Ruft den eindeutigen Bezeichner des Threads ab.

IdealProcessor

Legt den bevorzugten Prozessor fest, auf dem dieser Thread ausgeführt werden soll.

PriorityBoostEnabled

Ruft einen Wert ab, der angibt, ob das Betriebssystem die Priorität des zugeordneten Threads vorübergehend erhöhen soll, sobald das Hauptfenster des Threadprozesses den Fokus hat, oder legt diesen Wert fest.

PriorityLevel

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

PrivilegedProcessorTime

Ruft die Zeit ab, während der der Thread im Betriebssystemkern Code ausgeführt hat.

ProcessorAffinity

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

Site

Ruft den ISite von Component ab oder legt ihn fest.

(Geerbt von Component)
StartAddress

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

StartTime

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

ThreadState

Ruft den aktuellen Zustand dieses Threads ab.

TotalProcessorTime

Ruft die gesamte Zeit ab, während der der Thread den Prozessor verwendet hat.

UserProcessorTime

Ruft die Zeit ab, während der der zugeordnete Thread in der Anwendung Code ausgeführt hat.

WaitReason

Ruft die Ursache für den Wartezustand des Threads ab.

Methoden

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

(Geerbt von MarshalByRefObject)
Dispose()

Gibt alle vom Component verwendeten Ressourcen frei.

(Geerbt von Component)
Dispose(Boolean)

Gibt die von Component verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

(Geerbt von Component)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

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

(Geerbt von MarshalByRefObject)
GetService(Type)

Gibt ein Objekt zurück, das einen von der Component oder von deren Container bereitgestellten Dienst darstellt.

(Geerbt von Component)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
ResetIdealProcessor()

Setzt den für diesen Thread idealen Prozessor zurück, um anzugeben, dass kein einzelner idealer Prozessor vorhanden ist. Das heißt, dass jeder Prozessor ideal sein kann.

ToString()

Gibt einen String zurück, der den Namen der Component enthält (sofern vorhanden). Diese Methode darf nicht überschrieben werden.

(Geerbt von Component)
ToString()

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

(Geerbt von Object)

Ereignisse

Disposed

Tritt auf, wenn die Komponente von einem Aufruf der Dispose()-Methode verworfen wird.

(Geerbt von Component)

Gilt für:

Weitere Informationen