2010-03-06 19 views

Respuesta

5

La pregunta que hace en el título y la pregunta que hace en el cuerpo son diferentes.

La forma estándar para un subproceso diferente para averiguar si un hilo sigue corriendo es o bien esperar a que o sondear utilizando is_running y/o is_joinable en función de sus necesidades particulares.

Si todo lo que desea es que se imprima i'm done, asegúrese de que sea la última instrucción ejecutada en el cuerpo de la secuencia y se imprimirá.

threads->create(sub { 
    # call the actual routine that does the work 
    print "i'm finished\n"; 
}); 
1

estoy realmente en la oscuridad aquí, así que es sólo una sugerencia en general: se podría implementar un mecanismo de devolución de llamada. Si nada más, puede pasar un objeto con el método onFinish cuando se inicia el hilo. Y llame a esa función desde el hilo cuando termine su trabajo (de acuerdo con su estado interno).

Cuestiones relacionadas