2010-05-01 16 views
6

Cuando creo un hilo lo guardo en una lista. Después de un tiempo, quiero verificar cuál de ellos todavía existe. No estoy buscando otro tipo de implementación, quiero saber si hay alguna forma de obtener un hilo por su manejo?Verifique si existe un hilo en el identificador

+0

Existe un hilo hasta que se une a él. ¿Desea verificar cuáles siguen funcionando? –

+0

@Marcelo, unirse no tiene nada que ver con eso. Existe un hilo siempre que todavía haya controladores abiertos. E incluso si están todos cerrados, el hilo seguirá existiendo si aún no ha terminado. –

+0

Gracias Rob. Confundí POSIX y Win32. –

Respuesta

5

Si no eres más que interesado en cuáles están aún en marcha, esto debería funcionar:

if WaitForSingleObject(ThreadHandle, 0) = WAIT_OBJECT_0 then 
    // Thread is still running 
+0

De esta manera esperaré la finalización del hilo, no es el caso, de todos modos. –

+4

El segundo argumento para WaitForSingleObject es un tiempo de espera. Al pasar 0 in, solo probará el estado de espera e inmediatamente regresará. –

Cuestiones relacionadas