Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/09/2013, 14:07
amchacon
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Respuesta: Recomiendacion entre proceso o hilo

Hilo sin lugar duda, mucho menos costoso y mucho más fácil de comunicarse (puedes usar hasta variables globales).

Cita:
Después pensé en los hilos, éstos no lo sé utilizar muy bien y lo poco que he leído es que un hilo puede esperar a que otro termine y le devuelva una respuesta, pero para recibir esta respuesta necesito "dormir" al que espera
No tienes porque quedarte esperando a que termine. Y si lo ejecutas detach() se liberaran los recursos solos.

Te dejo aquí un sistema algo burdo de como podrías hacerlo:

Código C:
Ver original
  1. void Hilo(void* param)
  2. {
  3.    bool* Terminado = (bool*) param;
  4.  
  5.    Funcion_Bloqueante();
  6.  
  7.    *param = true;
  8. }
  9.  
  10. void FuncionPadre()
  11. {
  12.    bool Terminado;
  13.    Crear_Hilo(&Terminado); // Crear hilo, incluir el atributo detach en la implementación
  14.    
  15.    while (1)
  16.    {
  17.        // otras cosas
  18.      
  19.       if (Terminado) puts("Hilo terminado");
  20.    }
  21. }

La implementación variará dependiendo de la librería de hilos que uses. Y seguramente tengas que hacer un mecanismo de sincronización para la variable bool.

Si usas C++, te recomiendo la librería de hilos que tiene el estándar C++11.