import java.util.LinkedList; import java.util.Queue; public class Stand_de_cuisson { private Queue clients = new LinkedList(); /* * retourne le client qui est en tête de queue et le supprime de la queue */ public synchronized Client getNextClient2(){ while(clients.isEmpty()){ try{ wait(); }catch (InterruptedException e) { e.printStackTrace(); } } return clients.poll(); } //get le client en tête de queue public synchronized Client getClient(){ return clients.peek(); } //supprime le client en tête de queue public synchronized void nextClient(){ clients.poll(); } public synchronized void finir_cuit(Client client){ notifyAll(); } public synchronized void ajouter_client(Client client){ clients.add(client); notify(); } public synchronized boolean containsClient(Client client){ return this.clients.contains(client); } }