Gewusst wie: Untersuchen der Threadnutzung durch Prozesse
Aktualisiert: November 2007
Sie können die Prozessthreads anzeigen, indem Sie den Threads-Eigenschaftenwert der Process-Komponente abrufen. Der Rückgabewert weist den Typ ProcessThreadCollection auf und enthält eine Auflistung von ProcessThread-Objekten, die den Betriebssystemthreads entspricht, die derzeit im Prozess ausgeführt werden. Sie können dann die Auflistung durchlaufen, um die einzelnen Threadeigenschaften anzuzeigen. Der primäre Thread ist nicht zwangsläufig der Thread bei Index 0 der Auflistung.
So untersuchen Sie die Threadnutzung durch einen Prozess
Wenn der Prozess nicht durch eine Process-Komponente gestartet wurde, weisen Sie dem gewünschten Prozess eine Process-Komponente zu. Weitere Informationen finden Sie unter Gewusst wie: Binden an vorhandene Prozesse.
Weisen Sie den Wert der Threads-Eigenschaft des Prozesses einer leeren Auflistungsvariablen vom Typ ProcessThread zu.
Bewegen Sie sich durch den Arrayindex, um die Eigenschaften für einen einzelnen Thread anzuzeigen.
Im folgenden Beispiel wird veranschaulicht, wie die Threads-Eigenschaft des Editors gelesen und der Wert einem leeren Array zugewiesen wird. Der BasePriority-Wert des ersten Threads im ProcessThread-Array wird dann gelesen und in einem Textfeld mit dem Namen TextBox1 angezeigt.
Dim myCollection As ProcessThreadCollection Dim myProcesses() As Process ' Create an instance of the Process Component and associate ' it to the target process. myProcesses = Process.GetProcessesByName("Notepad.exe") ' Read the Process.Threads property and assign it to the empty array. myCollection = myProcesses(0).Threads ' Read desired ProcessThread property. Me.Textbox1.Text = myCollection(0).BasePriority.ToString()
ProcessThreadCollection threads; Process[] notepads; // Retrieve the Notepad processes. notepads = Process.GetProcessesByName("Notepad"); // Read the Process.Threads property. threads = notepads[0].Threads; // Read desired ProcessThread property. TextBox1.Text = threads[0].BasePriority.ToString();
Siehe auch
Aufgaben
Gewusst wie: Binden an vorhandene Prozesse
Gewusst wie: Erstellen von Prozesskomponenten
Konzepte
Einführung in die Überwachung und Verwaltung von Windows-Prozessen