Universität Paderborn - Home Universität Paderborn
Die Universität der Informationsgesellschaft

Parallel Programming WS 2014/2015 - File FAShuttle.java

public class FAShuttle {
    private int freeseats; // number of free seats
    private int entered; // number of entered passengers

    synchronized public void ride(int number) {
        System.out.println("Passenger " + number + " wants to ride");
        while (freeseats <= 0) {
            try {
                wait();
            } catch (InterruptedException ie) {/* ok to ignore */}
        }
        freeseats--; entered++;
        System.out.println("Passenger " + number + " is seated");
        notifyAll();
    }

    synchronized public void offer() {
        System.out.println("Car arrives at FA");
        freeseats = 8;
	notifyAll();

        while (entered < 8) {
            try {
                wait();
            } catch (InterruptedException ie) {/* ok to ignore */}
        }
        entered -= 8;
        System.out.println("Car drops 8 passengers");
   }
}

Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 23.12.2014