C/Visual C - Matar Threads desde otros Threads. AYUDA!!

 
Vista:

Matar Threads desde otros Threads. AYUDA!!

Publicado por MorgoZ (5 intervenciones) el 07/05/2003 03:07:39
Hola a todos!

Estoy trabajando con Threads (hilos) y necesito saber si es posible, desde un Thread matar a otro Thread diferente... se que la función "ExitThread()" mata al Thread en el que se ejecuta dicha función, pero no conozco ninguna maera para matar otro Thread que no sea en el que se este ejecutando.

Para explicarme mejor os expongo a grades rasgos lo que quiero hacer:
Quiero tener varios Threads ejecutandose a la vez y uno a parte que contenga un temporizador para controlar el tiempo que cada Thread accede a una variable determinada y que si dicho Thread accede a dicha variable durante un tiempo que exceda el contador, pues se mata al Thread que se ha pasado del tiempo y se continua.

Espero que alguien pueda ayudarme!!
Gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Matar Threads desde otros Threads. AYUDA!!

Publicado por Héctor (14 intervenciones) el 07/05/2003 22:50:44
Hola! Yo tenía el mismo problema que tu hace unos días. Escribí también un mensaje en este foro y, aunque no utilicé lo que me propusieron (porque no supe muy bien cómo implementarlo) me orientaron bien.
De modo que te puedo remitir al mensaje siguiente de este foro: Matar hilos en c++ Héctor (29/04/2003). Por si la forma en que resolví mi problema no te ayuda.
Lo que hice, finalmente, fue lo siguiente:
1. Lanzo los hilos con la función AfxBeginThread(), que devuelve un puntero a la clase CWinThread del hilo que hemos lanzado.
2. Una vez recogido el puntero a CWinThread, analizando los atributos de esta clase, puedes ver que el handle del hilo está en el atributo m_hThread.
3. Para matar al hilo, desde fuera, utiliza la función TerminateThread(), pasándole como primer argumento el atributo m_hThread (del puntero a CWinThread recogido tras haber ejecutado la función AfxBeginThread) y como segundo parámetro el código de terminación del hilo (0, por ejemplo).
Y listo. Pero ten cuidado con los efectos que pueda producir la muerte prematura del hilo.
Espero haberte servido de ayuda.
Un saludo,
Héctor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Matar Threads desde otros Threads. AYUDA!!

Publicado por MorgoZ (5 intervenciones) el 08/05/2003 21:24:44
Pues muchísimas gracias!!!!!

De verdad que estaba desesperado, voy a probar a implementar lo que me comentas y seguro que funciona... no se le muy complicado...

Gracias de verdad!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar