import java.util.concurrent.CountDownLatch; public class Hovedprogram { public static void main(String[] args) { Kj?kken kj?kken = new Kj?kken(); CountDownLatch kundeTeller = new CountDownLatch(Kj?kken.ANT_KUNDER); // Teller ned hver gang en kunde er forsynt Thread kokk1 = new Thread(new Pizzakokk(kj?kken)); Thread kokk2 = new Thread(new Pizzakokk(kj?kken)); Thread[] kunder = new Thread[Kj?kken.ANT_KUNDER]; for (int i = 0; i < Kj?kken.ANT_KUNDER; i++){ kunder[i] = new Thread(new Kunde(kj?kken, i + 1, kundeTeller)); } kokk1.start(); kokk2.start(); for(Thread kunde : kunder){ kunde.start(); } try { kundeTeller.await(); // Stopper main- tr?den fra ? fortsette til telleren har n?dd 0 kokk1.interrupt(); kokk2.interrupt(); // N?r det ikke er flere kunder, stopper vi kokkene } catch (InterruptedException e) { System.err.println("Main- tr?den ble avbrutt mens den ventet p? kunder. Programmet avsluttes."); System.exit(1); } System.out.println("Alle kunder servert. Kj?kkenet stenger!"); } }