import java.util.Random; class HovedprogramFire { public static void main(String[] args) throws Exception { MinBeholder beholder = new MinBeholder(0); MinBeholderMonitor beholderBaater = new MinBeholderMonitor(beholder); for (int i = 1; i <= 3; i++){ HelgeIngstadProdusent produsent = new HelgeIngstadProdusent(beholderBaater, i); Thread traadEn = new Thread(produsent); traadEn.start(); } DenNorskeMarine marinen = new DenNorskeMarine(beholderBaater); Thread traadTo = new Thread(marinen); traadTo.start(); } } class HelgeIngstadProdusent implements Runnable{ MinBeholderMonitor beholder; int nummer; public HelgeIngstadProdusent(MinBeholderMonitor beholder, int nummer){ this.beholder = beholder; this.nummer = nummer; } public void run(){ System.out.println("Helge Ingstad produsent nr. " + nummer + " begynner ? lage Helge Ingstader."); for (int i = 0; i < 3; i++){ try{ Random r = new Random(); int tid = r.nextInt(3000); tid = tid + 3000; Thread.sleep(tid); } catch(Exception e){} beholder.leggPaa(1); System.out.println("Produsent (" +nummer+ ") har lagt til en b?t! Totalt " + beholder.hentVerdi()+ " b?ter."); } } } class DenNorskeMarine implements Runnable{ MinBeholderMonitor beholder; public DenNorskeMarine(MinBeholderMonitor beholder){ this.beholder = beholder; } public void run(){ for (int i = 0; i < 9; i++){ try{ Thread.sleep(1000); } catch(Exception e){} beholder.trekkFra(1); System.out.println("'HElGE INGSTAD, DREI!...'" + beholder.hentVerdi() + " b?ter igjen!"); } } }