05/08/2009, 02:50
|
| | Fecha de Ingreso: enero-2007
Mensajes: 78
Antigüedad: 18 años 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. |