Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/08/2009, 02:50
Oren
 
Fecha de Ingreso: enero-2007
Mensajes: 78
Antigüedad: 17 años, 4 meses
Puntos: 2
Problema al trabajar con programa multihilo

tengo un programa con 2 hilos:

- uno esta esperando peticiones en un socket. cuando la recibe, digamos, para simplificar, que pone la variable global "vble1", que por defecto vale -1, al valor del identificador del socket.

- el otro hilo esta esperando que haya peticiones que atender, y eso se mira cuando la vble1 vale distinto de -1, es decir, cuando el hilo principal recibio una peticion.

ahora bien, tengo un problema, y es que el segundo hilo, que no acabe hasta que no le manden una señal (tengo un while(1), pongamos), solo se da cuenta de que vble1 vale distinto de -1 si pongo un sleep() o un printf. vaya, algo que haga esperar un poco. es como si no se diese cuenta de que la variable global se actualizó, y si no pongo nada de lo anterior sigue pensando que vble1 vale -1.

alguien sabe por que puede ser? problemas de sincronizacion o algo?

agradeceria infinitamente algo de ayuda.

gracias.