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

Dient ProcessThread zum Abrufen von Informationen zu einem Thread, der derzeit auf dem System ausgeführt wird. So 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 Pfad der Ausführung durch ein Programm. Es ist die kleinste Ausführungseinheit, die Win32 plant. Es 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, daten und anderen Ressourcen eines Programms im Arbeitsspeicher. Typische Programmressourcen sind offene Dateien, Semaphoren und dynamisch zugewiesenen Arbeitsspeicher. Jede Ressource eines Prozesses wird von allen Threads dieses Prozesses gemeinsam genutzt.

Ein Programm wird ausgeführt, wenn der Systemplaner die Ausführungskontrolle zu einem der Threads des Programms gibt. Der Zeitplaner 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, wodurch die CPU-Auslastung ausgeglichen wird.

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 den Adressraum dieses Prozesses.

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

Hinweis

Ab der .NET Framework Version 2.0 wurde die Möglichkeit, auf Leistungsindikatorendaten auf anderen Computern zu verweisen, für viele der .NET Framework Methoden und Eigenschaften beseitigt. 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 der .NET Framework keine Ausnahmen erhalten haben, möglicherweise 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 sich nicht bewusst, es sei denn, Sie machen sie füreinander sichtbar. Threads, die gemeinsame Ressourcen gemeinsam nutzen, müssen jedoch ihre Arbeit mithilfe von Semaphoren oder einer anderen Methode der Interprocesskommunikation koordinieren.

Wenn Sie eine Auflistung aller Objekte abrufen möchten, die ProcessThread dem aktuellen Prozess zugeordnet sind, rufen Sie die Threads Eigenschaft der Process Instanz 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:

Siehe auch