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


