import java.util.concurrent.CountDownLatch; public class Hovedprogram { public static void main(String[] args) { final int ANTALL_KNIVTRAADER = 9; final int ANTALL_SAKSTRAADER = 1; int antallKniverPerProdusent = 3; KnivMonitor knivMonitor = new KnivMonitor(ANTALL_KNIVTRAADER); SaksMonitor saksMonitor = new SaksMonitor(); CountDownLatch knivLatch = new CountDownLatch(ANTALL_KNIVTRAADER); CountDownLatch saksLatch = new CountDownLatch(ANTALL_SAKSTRAADER); for (int i = 0; i < ANTALL_KNIVTRAADER; i++) { // One-liner new Thread(new KnivProdusent(knivMonitor, antallKniverPerProdusent, knivLatch)).start(); } for (int i = 0; i < ANTALL_SAKSTRAADER; i++) { // Annen m?te ? starte opp tr?der p? Runnable saksProdusent = new SaksProdusent(knivMonitor, saksMonitor, saksLatch); Thread traad = new Thread(saksProdusent); traad.start(); } // try { // knivLatch.await(); // } catch (InterruptedException e) { // System.out.println("Avbrutt..."); // System.exit(-1); // } System.out.println("Antall kniver produsert: " + (ANTALL_KNIVTRAADER * antallKniverPerProdusent)); try { knivLatch.await(); saksLatch.await(); } catch (InterruptedException e) { System.out.println("Avbrutt..."); System.exit(-1); } System.out.println("Antall sakser produsert: " + saksMonitor.antallSakser()); } }