Latch.java
package ch.hslu.exercises.sw06.ex2;
/**
* Eine Synchronisationshilfe, die es ermöglicht, einen oder mehrere Threads warten zu lassen, bis
* diese durch andere Threads aufgeweckt werden. Latches sperren so lange, bis sie einmal ausgelöst
* werden. Danach sind sie frei passierbar.
*/
public class Latch implements Synch {
private boolean isClosed = true;
@Override
synchronized public void acquire() throws InterruptedException {
while (isClosed) {
this.wait();
}
}
@Override
synchronized public void release() {
isClosed = false;
this.notifyAll();
}
}