Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Programacion con hilos

Estas en el tema de Programacion con hilos en el foro de C/C++ en Foros del Web. Hola a todos! Tengo una aplicación que lanza varios hilos que hacen una serie de tareas sobre un recurso compartido. Tenia creado de anteriores aplicaciones ...
  #1 (permalink)  
Antiguo 29/09/2009, 04:33
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Programacion con hilos

Hola a todos!
Tengo una aplicación que lanza varios hilos que hacen una serie de tareas sobre un recurso compartido. Tenia creado de anteriores aplicaciones un controlador para terminar la ejecucion de la aplicación , mediante la pulsacion de Ctrl+C. El problema es que para la aplicación con hilos este controlador no funciona correctamente y la aplicación no termina, por lo que para terminar debo hacer un killall y algunas funciones que se ejecutaban cuando antes hacia Ctrl+C ya no se pueden ejecutar.
¿Sabria alguien explicarme cual es la mejor forma para hacer terminar una aplicación con varios hilos?

Muchas gracias de antemano.

Saludos
Miguel Angel
  #2 (permalink)  
Antiguo 29/09/2009, 08:08
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Programacion con hilos

¿Uno de hilos recibe la señal de Ctrl+C? Supongo que podes usar una variable que examinen todos los hilos o un evento, si esta habilitado sale y listo.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 29/09/2009, 08:27
Avatar de r0d
r0d
 
Fecha de Ingreso: noviembre-2007
Mensajes: 86
Antigüedad: 16 años, 5 meses
Puntos: 3
Respuesta: Programacion con hilos

Hola,

El mundo de los hilos es bastante vasto. Necesitamos mas detalles para ayudarte.
¿Como son hechos los hilos: "a manos", con pthread, los de boost, de win32... ? ¿en cual plataforma? ¿como has sido creados? ...
  #4 (permalink)  
Antiguo 29/09/2009, 09:44
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

Perdona por no ser mas explicito.
Bueno, trabajo en linux, bajo plataforma kubuntu 8.04, y los hilos estan creados con una libreria propia que hizo un compañero, y que claro esta, hereda de pthread.
Tengo un *.h, *.cpp y el main. Los hilos se crean en el main, creo una lista de objetos del tipo de la clase que se ha creado en el *.h, y luego recorro esa lista llamando a la funcion start propia de los hilos. En el *.cpp tengo la funcion run que dependiendo del hilo, escribe una cosa u otra en un fichero.
Mas detalles del manejador que usaba antes: usaba una libreria de señales, que detectaba la pulsacion Ctrl+C, cuando se detectaba ponia una variable booleana a true, y entonces se salia del bucle principal del main y realizaba las ultimas instrucciones antes de terminar. Con los hilos, estas ultimas instrucciones que son de vital importancia que se realicen para que mi aplicacion funciones correctamente no se ejecutan.

Espero haber sido ahora un poco mas concreto con mi problema.
Muchas gracias!
  #5 (permalink)  
Antiguo 30/09/2009, 04:11
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

Con esta descripcion a mi problema no sabrias darme una respuesta??? pues vaya....
  #6 (permalink)  
Antiguo 30/09/2009, 04:31
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Programacion con hilos

¿Tiene algun tipo de interfaz el programa? ¿Como determinas que debe terminar? La solucion mas logica ya la implementaste (usar una variable), ahora te falta establecer otro punto desde donde ponerla a true.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #7 (permalink)  
Antiguo 30/09/2009, 04:38
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

No, no tiene interfaz de ningun tipo.
Mi programa crea una serie de hilos, y stos hilos van escribiendo sobre un fichero con un formato determinado. El problema es que cuando quiero terminar, los hilos no terminan bien, y ese formato por tanto se ve alterado, por lo que luego ese fichero no es aprovechable.

Os pongo un trozo del codigo de los hilos:

void VrmlCreation::run() {

..........
...........
...........

while( flag == Thread::NONE){

//Codigo que ejecuta cada hilo


¿Podria poner una variable en el while que cuando pulse Ctrl+C salga del bucle no?
El problema es que no he conseguido averiguar como hacerlo. Pensé en una variable estatica de la clase, pero me da errores de compilación.
¿Alguna sugerencia?
GRACIASSSSSSSSSSSSSSSSSS
  #8 (permalink)  
Antiguo 30/09/2009, 04:48
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Programacion con hilos

¿No tiene interfaz de consola? ¿Tampoco tiene parametros? ¿No escribe en stdout ni lee en stdin? Que programa ...

No respondiste mi segunda pregunta pero al parecer la respuesta es que se termina cuando se te da la gana. Un programa normalmente se termima cuando se produce alguna condicion en particular.

Si la señal de Ctr+C te llega nos estas haciendo perder el tiempo y lo unico que necesitas es una variable global.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #9 (permalink)  
Antiguo 30/09/2009, 04:59
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

Aver, claro que tiene interfaz...creia ke te referias a una interfaz gráfica.
Creo que si leyeras el cuarto mensaje de este post te aclararia un poco tus duditas...
Tengo una interfaz de consola, mi modulo se comunica con otro modulo a traves de yarp, y va recibiendo datos de un laser, que voy procesando y transformando los datos para adaptarlos al formato de dato que requiere el fichero que quiero construir con cada hilo. Cuando acaba se puede observar mediante vrml (el fichero construido tiene ese formato) toda la superficie escaneada.
Creo que no tiens ni idea de nada...solo ers un listiyo friki ke se cree ke sabe de todo.
Ya solucione mi problema, me creado una variable estatica que cuando se pulsa el CTrlC se pone a false y que va como condicion en el bucle de ejecucion de los hilos.

Gracias por nada Mr. Prepotencia
  #10 (permalink)  
Antiguo 30/09/2009, 05:05
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Programacion con hilos

Primero que nada voy a citar tu mensaje en el cual ademas de romper las reglas del foro te ganaste el tipo de respuesta que encontraste posteriormente: "Con esta descripcion a mi problema no sabrias darme una respuesta??? pues vaya.... "

Cita:
Iniciado por marodal Ver Mensaje
Creo que si leyeras el cuarto mensaje de este post te aclararia un poco tus duditas...
Yo no tengo ninguna duda, ya te di la solucion hace tiempo, si volves a leer el hilo te daras cuenta de lo unico que necesitabas era compartir una variable con todos los hilos, eso te lo dije en la primera respuesta de este hilo.

Cita:
Iniciado por marodal Ver Mensaje
Creo que no tiens ni idea de nada...solo ers un listiyo friki ke se cree ke sabe de todo.
Seguramente

Cita:
Iniciado por marodal Ver Mensaje
Gracias por nada Mr. Prepotencia
Citaria de nuevo tu mensaje pero es redundante, vease el principio de este mensaje.

Cita:
Iniciado por marodal Ver Mensaje
Ya solucione mi problema, me creado una variable estatica que cuando se pulsa el CTrlC se pone a false y que va como condicion en el bucle de ejecucion de los hilos.
Felicitaciones, en la primer respuesta de este hilo ya estaba esa solucion pese a que no te habias explicado con la mas minima claridad.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #11 (permalink)  
Antiguo 30/09/2009, 08:17
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

Pues gracias, aunq no te explicaras en tu respuesta...
  #12 (permalink)  
Antiguo 30/09/2009, 08:37
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Programacion con hilos

De nada. Tal vez habia que descifrar demasiado en esas dos lineas ...
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #13 (permalink)  
Antiguo 30/09/2009, 09:16
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

*** Editado por insultos ***

Última edición por David; 02/10/2009 a las 09:52
  #14 (permalink)  
Antiguo 30/09/2009, 09:21
Avatar de Anubis_Slash  
Fecha de Ingreso: mayo-2009
Ubicación: aqui y haya
Mensajes: 173
Antigüedad: 15 años
Puntos: 5
Respuesta: Programacion con hilos

Vaya, perdon que me meta, pero por que la agresividad marodal, a fin de cuentas tienes que entender que esto es un foro donde tratamos de ayudarnos todos, no es obligacion de nadie responderte, nunca debes estar con la idea de que otras personas van a hacer tu trabajo, aqui solo se dan opiniones o consejos....

paciencia amigos, paciencia

saludos a marodal y Eternal
__________________
Bienvenidos los karmas.
Quejas, sugerencias o dudas, se awantan......
  #15 (permalink)  
Antiguo 30/09/2009, 09:28
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Programacion con hilos

No tiene importancia, dejalo que quede retratado tal como es; el hilo ya esta reportado.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #16 (permalink)  
Antiguo 01/10/2009, 04:46
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

El hilo no esta reportadoo...pq amigo, los hilos de mi programa unas veces se matan bien, otras mal...pq se comunican con otro modulo que le manda los datos a traves de puerto yarp. Cuando este modulo deja de enviar datos, no hay un dios que haga que mis hilos mueran...
¿tienes una solucion a eso?? no veias el problema tan facil????
  #17 (permalink)  
Antiguo 01/10/2009, 06:21
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Programacion con hilos

¿Reportado un hilo de tu proceso? En fin ... estaba hablando de este hilo del foro pero se ve que tampoco pudiste descifrar eso, es muy complejo para vos.

¿Necesitas una solucion todavia? Sino sabes hacer uso de la consola que ya tenes abierta lo lamento mucho.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #18 (permalink)  
Antiguo 01/10/2009, 06:40
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

aver, yo tb me referia a este hilo del foro...
me da igual, ya buscare una solucion, tu sigue picando codigo en la empresa como un exclavo, para llegar luego a tu casa a descargar porno y y hacer manualidades!
xaooo!!
  #19 (permalink)  
Antiguo 01/10/2009, 06:43
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Programacion con hilos

Cita:
Iniciado por marodal Ver Mensaje
aver, yo tb me referia a este hilo del foro...
El hilo no esta reportadoo...pq amigo, los hilos de mi programa unas veces se matan bien, otras mal...

¿Es que NUNCA te cansas de quedar en ridiculo?

Cita:
Iniciado por marodal Ver Mensaje
me da igual, ya buscare una solucion y seguire picando codigo en la empresa como un exclavo, para llegar luego a casa a descargarme porno y y hacer manualidades!
xaooo!!
No entiende cual es la razon por la cual nos expones tus intimidades gratuitamente, no le interesa a nadie tu vida privada.

REPORTADO nuevamente
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #20 (permalink)  
Antiguo 01/10/2009, 07:07
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

haber...yo creia ke al decir ke este hilo keda reportado, con que el hilo del foro sta cerrado pq ya tiene solucion y entonces he puesto: pq.... y he dixo el pq de q no esta cerrado...sino significa esoo...perdona mi inocencia...friki!!!
y keva...yo no soy como tu q me llevo todo el dia metido en foros y paginas frikis y no tiens vida social...
  #21 (permalink)  
Antiguo 01/10/2009, 07:26
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Programacion con hilos

Claro, es que yo no me explico bien, REPORTADO no es SOLUCIONADO ni CERRADO al parecer Y por supuesto que no sos como yo, eso lo da por descontado cualquiera con dos dedos de frente, ni siquiera llegas a tener un cociente intelectual promedio.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #22 (permalink)  
Antiguo 01/10/2009, 07:31
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

Weno, soy ingeniero, y no me ha costado mucho esfuerzo. Tengo un buen trabajo, sin explotacion, y tengo una vida social estupenda.
Tu en cambio seras un cuarenton virgen que aun vives cn los papis...
Un saludo!
  #23 (permalink)  
Antiguo 01/10/2009, 07:35
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: Programacion con hilos

Te respondere por privado, ultimo mensaje que dejo en este hilo.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #24 (permalink)  
Antiguo 01/10/2009, 07:38
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

esoo...vete!! has desviado toda la atencion, pq no has sabido resolver la duda...y ahora te vas cn el rabo entre las piernas!!
  #25 (permalink)  
Antiguo 01/10/2009, 08:04
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

/*Un ingeniero que no sabe ni leer ni escribir, claro que no te ha costado, si debes haber comprado el titulo ignorante de la vida.*/

Haber, tonto del bote, soy ingeniero, y de comprarlo nada...esa frase de que lo has comprado es un recurso tipico de los niños de primaria...jajaj

/*Vivis en España asi que voy a multiplicar el PBI per capita de tu pais por cuatro y ni asi llegaras a la mitad de mi sueldo, es lo que tiene vivir en el primer mundo. ¿Vida social estupenda? Permitime que lo dude, todavia estas sufriendo en un foro sin poder resolver tus problemas laborales, debes ser un pobre infeliz en todos los aspectos de tu vida.*/


Mira, no lo he resuelto, pero vamos, que lo resolveré, y sin prisas...pero es que me divierto tanto machacando a un friki feooo ke no puedo dejar de escribir!!
¿Y ganas mucho dinero? Weno...yo no gano mal, para lo que hago esta bastante bien...pero de todas formas mi familia ya tiene dinero de por si...ajjajaj

/*Eso es lo mas gracioso que escribiste hasta ahora, con 18 años yo me fui a vivir a otro continente, tu que debes ser un gitanillo sevillano y nunca habras salido de tu ghetto por falta absoluta de huevos, seguramente esta noche vas a cenar la tortilla de patatas y el gazpacho con tu madre */

Weno, la verdad que soy de Cadiz, ¿sabes donde esta? ajjaja
Es un lugar fantastico, con playita...
Vivo en Sevilla independizado, pero cuando me kiero relajar me voy a mi casa de la playaa...y no! de tortilla de patatas y gazpaxo nada...aunq mira, no staria nada mal....

/*Jajaja, sos idiota pero de verdad idiota, antes de que explicaras la mitad de tu problema ya te di la solucion pero sos tan inutil que no la verias aunque te golpearan en la cara con ella.*/

Pero IMBECIL, te dixo que esa solucion funciona cuando le da la gana, inmigrante pobreton de mierda...si tanto ganas y tan wena vida tiens ayi...nose pq stoy arto de ver compatriotas tuyos vendiendo coca-colas x la playaa....jajajajajaj

/*Espero tu respuesta, a ver si eso si lo podes descrifrar retrasado [/QUOTE]*/

Hay tiens tu respuesta FRIKI FEOOOOOOOOOOOO ajajjaja
  #26 (permalink)  
Antiguo 01/10/2009, 09:11
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Programacion con hilos

¿Haber? Tenes razon, nunca podria llegar a tu nivel de recien nacido: "FRIKI FEOOOOOOOOOOOO". Patetico.

Claro, alguien lo hara por vos, de otra manera es imposible, un problema que se resuelva en minutos a vos te dura meses.

Felicita a tu familia

Si, seguramente, te creo

Funciona si la sabes implementar cosa que obviamente vos no podes hacer. ¿Pobreton? Jeje, al menos yo si vivo en el primer mundo y disfruto de su calidad de vida. Mis compatriotas normalmente son mucho mas exitosos que los tuyos de los cuales esta lleno mi pais y se dedican a atender los bares y ser porteros fisicos, normalmente se los llama gallegos por su ignorancia y su cabeza cuadrada alla Manolito de Mafalda.

¿Jode, no? No me podes responder Continua hablando solo en el foro.

---------------------------------------------------------------------------------------------
Resumen: ers un friki ke se lleva todo el dia trabajando y luego metido en internet, cuarenton y virgen! ajjaj
Y weno...es una estupidez decirme que no puedes recibir mensajes...ers friki niño-pequeño...jajajaj
Y tb es de friki niño-pequeño decir la coletilla: "te creo, si..." Si no te lo crees pues mejor para ti...jajaja yo lq si me creo es que ers un PUTO FRIKI, que como no tnes nada en la vida de lq presumir, tnes ke star to el dia metido en el foro haciendo el trabajo de la gente para que luego te digan gracias...sisi...que importante eres! ajjajaja
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:32.