C'e' un po' di confusione sui thread. Spezzo la risp su piu' post per migliorare la leggibilita'.
Partiamo dall'inizio...
QuindiIn pratica, occorre definire una classe Sedia per modellare un oggetto sedia che può trovarsi in due possibili stati: libera o occupata. I metodi di tale classe devono consentire di rilevare lo stato della sedia, di occuparla e di conoscere il nome dell’eventuale occupante.
Sedia finisce quà perche' rappresenta un unica sedia. I metodi sincronizzati stanno da un'altra parte.codice:public class Sedia { private String Nome; //Anche le sedie hanno un nome private boolean occupata; //Memorizza lo stato private Partecipante occupante; //Memorizza chi la occupa public Sedia(String nome) { this.nome=nome; this.occupata=false; this.occupante=null; /* * All'inizio la sedia e' libera. Non ha senso creare un ulteriore partecipante * ed assegnarlo alla variabile occupante. */ } public boolean getStatoSedia() { return this.occupata; } public String getNome(){...} public Partecipante getOccupante() {...} public void reset(){...} //per comodita' setta occupata a false e occupante a null. Lo chiami dopo ogni sessione. public void occupa() { this.occupata = true; } }

Rispondi quotando