Frage zu GetThreadPriority
-
Hallo Community!
Folgendes Problem:
Ich führe eine Liste, in welcher ich mir die Handles aller erzeugten Threads im
Prozess merke. Diese enthält auch noch weitere normalerweise nicht vorhandene
Informationen zu dem jeweiligen Thread.Da ich nicht von jedem Thread mitbekomme wann sich dieser beendet, habe ich mir
jetzt gedacht ich machs mir einfach und schaue für jedes gespeicherte Handle
nach, ober der jeweilige Thread noch läuft. Dafür gibts die FunktionDWORD WINAPI GetThreadId( _In_ HANDLE Thread );
Allerdings nicht auf XP wo das System auch noch laufen soll. Also weitergesucht und
int WINAPI GetThreadPriority( _In_ HANDLE hThread );
gefunden.
Jetzt zur eigentlichen Frage:
Kann ich davon ausgehen das sobald mir diese im return einTHREAD_PRIORITY_ERROR_RETURN
meldet, der jeweilige Thread nicht mehr vorhanden ist bzw. läuft?
Mir ist klar das das keine sehr schöne Lösung ist, allerdings solls halt laufen
-
Die sichere Variante ist
WaitForSingleObject(hThread, 0) == WAIT_OBJECT_0
-
Super!
Danke für die schnelle Antwort Jochen. Das ein Thread - Handle als signaled gilt sobald der Thread beendet ist wusste ich noch nicht.