1 package ch.hslu.exercises.sw06.ex2; 2 3 /** 4 * Eine Synchronisationshilfe, die es ermöglicht, einen oder mehrere Threads warten zu lassen, bis 5 * diese durch andere Threads aufgeweckt werden. Latches sperren so lange, bis sie einmal ausgelöst 6 * werden. Danach sind sie frei passierbar. 7 */ 8 public class Latch implements Synch { 9 10 private boolean isClosed = true; 11 12 @Override 13 synchronized public void acquire() throws InterruptedException { 14 while (isClosed) { 15 this.wait(); 16 } 17 } 18 19 @Override 20 synchronized public void release() { 21 isClosed = false; 22 this.notifyAll(); 23 } 24 }