Java - eterno wait() ?

 
Vista:

eterno wait() ?

Publicado por Depunsher (7 intervenciones) el 16/08/2009 21:02:07
Hola a todos, quería saber porque me produce un wait() eterno en el segundo hilo que entra lo que hace que no salga nunca de la pista y no puedan entrar otros a jugar.

Muchas gracias de antemano, el código es:

public synchronized void entraMujer(deportista nuevoDep){
//establezco duracion del partido
long partido = duracionPartido();

try {semM.acquire();} catch (InterruptedException e){}

if( procesoParado() ) try {proc1.acquire();} catch (InterruptedException e){}

actualizaDejaCola(nuevoDep);

if (getEstado() == "Abierto") //si esta abierta la sala, entra
{
actualizaEntraMujer(nuevoDep);

while (numM==1){
try{
nuevoDep.setEstado("Esperando compañera");
wait();
}catch(InterruptedException e){
JOptionPane.showMessageDialog(null,"Error: "+e.getMessage(),"Error",JOptionPane.INFORMATION_MESSAGE);
}
notify();
}
//ETERNO WAIT() !!!!!!!!!!!!!!!!!!!!!!!!!!


nuevoDep.setEstado("Jugando Tenis");

try {nuevoDep.sleep(partido);} catch (InterruptedException e1){}

actualizaSaleMujer(nuevoDep);


estado=false; //la primera q salga la cierra, y la ultima la abre, para la siguiente


//libero semáforos
semM.release();

}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder