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()); } }