Korrekt afslutning a Windows tråd
I en dll jeg har skrevet oprettes en tråd og jeg gemmer dens handle (hThread) i en variabel. Tråden ser ud som følger:while (bIsRunning)
{
...
}
// Do clean-up
Når jeg vil afslutte tråden sætter jeg bIsRunning = false og venter på tråden afsluttes med: WaitForSingleObject(hThread, 2000)
Herefter lukker jeg handle med CloseHandle(hThread).
Mit spørgsmål er rimeligt simpelt... Er dette korrekt måde at afslutte tråden på?
WaitForSingleObject(hThread) vil blive korrekt "signaled" når tråden afslutter? Ville det være en fordel at have CloseHandle() som sidste del af tråden eller skal den holdes uden for?
På forhånd tak! (Vil lige være sikker på jeg ikke leaker resourcer/handles)