import java.io.InterruptedIOException;
import java.util.concurrent.CountDownLatch;
class EksCountDown {
public static void main(String[] args) {
CountDownLatch cdl = new CountDownLatch(5);
for (int i = 0; i < 5; i++) {
new Thread(new TraadCountDown(i, cdl)).start();
}
System.out.println("Main-trad venter");
try {
cdl.await();
}
catch (InterruptedException e) {
System.out.println("Ble avbrutt");
}
System.out.println("Main-trad ferdig");
}
}
class TraadCountDown implements Runnable {
private CountDownLatch cdl;
private int id;
public TraadCountDown(int id, CountDownLatch cdl) {
this.id = id;
this.cdl = cdl;
}
@Override
public void run() {
System.out.println("Trad " + id + ": CountDown");
cdl.countDown();
System.out.println(cdl.getCount());
}
}