Ma potete spiegarmi perchè poi non si risvegliano con la notifyAll.
Io avvio i client (il primo è giocatore BIANCO e fa il wait, poi il GIALLO e fa wait() e infine il NERO che dovrebbe riavegliarli ma non lo fa).
Cosa sbaglio??
Questo è il codice del ServerThread:
codice:
public synchronized void controlloInizio() throws InterruptedException, IOException{
if(giocatore.equals(Giocatore.NERO)){
partitaIniziata();
notifyAll();
out.println("sveglio tutti ");
out.flush();
}
else{
wait();
out.println("sveglio ");
out.flush();
}
}
public synchronized void run() {
in = new Scanner(socket.getInputStream());
out = new PrintWriter(socket.getOutputStream());
out.println("Giocatore " + giocatore + " connesso ");
out.flush();
controlloInizio();
}