SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: natt en Domingo 15 de Agosto de 2004, 12:54
-
Hola!Estoy haciendo un videojuego y hay una cosa q soy incapaz de conseguir. Tengo varios procesos hijos (en este caso aliens) que conocen las coordenadas de los humanos que deben atrapar, por lo tanto si un alien mata a un humano deberá comunicarle a los otros procesos que mató a ese humano para que el resto de aliens no vuelvan a matar al mismo humano. El proceso padre pasa a los hijos las coordenadas iniciales y a partir de ahí los hijos deben comunicarse entre ellos.
El paso de las coordenadas lo he implementado mediante tuberías y señales pero no se me actualizan las variables, cada proceso sigue teniendo sus coordenadas. ¿Alguien me puede ayudar?ES URGENTE.MUCHAS GRACIAS.No les pongo el código porque es muy largo todo el programa, lo que no consigo es esa parte.
-
y por que lo estas haciendo con procesos hijos?
no se.
lo seguro es que estas comentiendo errores de concurrencia asi que debes usar mutex.
-
No uses procesos para eso, no te va a dar más que problemas. Usa hilos (threads), que pueden compartir fácilmente la memoria, y sincroniza los accesos con los mutex, como bien dice JuanK.
Un saludo.
Ruben3d
-
conozco la diferencia entre procesos hijos e hilos...
pero me queda una duda en este momento ya que no recuerdo muy bien este rollo...
que no se supone que la filosofia de los mutex para los hilos aplica igual para los procesos hijos?
-
Le he recomendado los hilos porque comparten toda la memoria de la aplicación y todos los descriptores. Para mi es más fácil así hacer lo que quiere, ya que los procesos son mucho más pesados e incómodos de manejar. No sé de ningún juego que haya implementado ese tipo de cosas con procesos en vez de hilos.
Un saludo.
Ruben3d