package Exo2;

public class GarconDeCafe implements Runnable {
	private String nom;
	private int tempsRepos;
	private Carafe carafe;
	private Thread t;

	public GarconDeCafe(String nom, Carafe carafe, int repos) {
		this.nom = nom;
		this.tempsRepos = repos;
		this.carafe = carafe;
		t = new Thread(this);
		t.start();
	}

	
	
	public String getNom() {
		return nom;
	}



	public Thread getT() {
		return t;
	}

	public void run() {
		System.out.println(nom + " démarre son service");
		try {
			while (true) {
				synchronized (carafe) {
					carafe.remplir();
					System.err.println(nom + " remplit la carafe");
					carafe.notifyAll();
					while (!carafe.estVide()) {
						carafe.wait();
					}
				}
				Thread.sleep(tempsRepos);
			}
		} catch (InterruptedException e) {
			System.out.println(nom + " a terminé son service");
		}
	}
}
