17 Stimmen

Prüfen, ob ein Win32-Thread läuft oder sich im Ruhezustand befindet

Wie überprüfe ich, ob ein Win32-Thread läuft oder sich in einem angehaltenen Zustand befindet?

Ich kann keine Win32-API finden, die den Status eines Threads angibt. Wie bekomme ich also den Thread-Status?

1voto

Elmue Punkte 6302

JA: Es ist möglich, den Zustand des Threads abzufragen und festzustellen, ob er unterbrochen ist.

Und NEIN: Sie brauchen dafür kein Windows 7.

Ich habe meine Arbeitsklasse hier auf Stackoverflow veröffentlicht: Wie erhält man den Thread-Status (z.B. suspendiert), Speicher- und CPU-Nutzung, Startzeit, Priorität, etc.

Für diesen Kurs ist Windows 2000 oder höher erforderlich.

0voto

anand Punkte 10753

Ich glaube, der Staat wird hier bezeichnet als

  • Wenn sich ein Thread in einem Thread-Proc befindet und eine Verarbeitung durchführt oder
  • Warten auf das Ereignis

Dies kann durch die Verwendung von Variablen behoben werden, die anzeigen, ob ein Thread tatsächlich läuft oder auf ein Ereignis wartet.

Diese Szenarien treten auf, wenn man Threadpools mit n Threads in Betracht zieht, und auf der Grundlage des Betriebsstatus der einzelnen Threads können Aufgaben ungenutzten Threads zugewiesen werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X