Finde alle threads eines Prozesses Prozess-id

Ich versuche zu finden, wenn es eine bessere Weise zu finden, alle thread-ids gehören zu dem aktuellen Prozess. Es sieht aus wie mit CreateToolhelp32Snapshot mit TH32CS_SNAPTHREAD und der Iteration über die threads zu prüfen, ob der thread, Prozess-id ist gleich die aktuelle Prozess-id, ist eine Lösung, aber ich möchte vermeiden, Durchlaufen alle Laufenden threads. Ich möchte nur zur Iteration über die threads gehören zu einem Prozess. Bitte lassen Sie mich wissen, ob es eine API, die ist schnell und einfach. Ich muss es in c++.

Dank,
Abhinay.

  • Scheint legit. Siehe blogs.msdn.com/b/oldnewthing/archive/2006/02/23/537856.aspx
  • Vorzeitige Optimierung einer Maschine in der Regel nicht mehr als 1000 aktive threads. Könnten Sie TH32CS_SNAPALL, um es selektiv auf th32ProcessID.
  • TH32CS_SNAPALL ist wie beschrieben "Umfasst alle Prozesse und threads im system, plus die Menge und Module des Prozesses angegeben, in th32ProcessID" - so wird es nicht helfen.
  • Die .Netto Klasse Prozess hat ein Gewinde Eigenschaft, aber es scheint machen Sie einen Schnappschuss von allen Prozessen und threads, die von HKEY_PERFORMANCE_DATA, und gibt dann nur die Daten für den aktuellen Prozess. Wie Sie bemerkt haben, Toolhelp schnappt sich auch ein snapshot von alles (und ist weniger ein Schmerz zu verwenden als performance-Daten). psapi nicht handhaben threads überhaupt. Ich vermute, Sie sind aus Glück heraus. Wenn Sie eine thread-Liste für Ihren eigenen Prozess hinzufügen einer DLL, deren DllMain werden benachrichtigt, wenn threads erstellt werden, oder zerstört.
  • So weit ich weiß, existieren zwei weitere Ansätze mit der Performance Data Helper (aber Sie brauchen, zu filtern, durch die PID ) oder über die Win32_Thread WMI-Klasse Filterung durch die ProcessHandle Eigentum, sondern die Geschwindigkeit der WMI in diesem Fall ist nicht vergleichbar mit der WinAPI. Also mein Rat ist, halten mit der CreateToolhelp32Snapshot-Funktion.
  • Überprüfen Sie diese zwei: Thread zu Fuß, das Auflisten der Threads in Windows

Schreibe einen Kommentar