import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; public class SaksProdusent implements Runnable { private Monitor m; private CyclicBarrier cb; public SaksProdusent(Monitor m, CyclicBarrier cb) { this.m = m; this.cb = cb; } @Override public void run() { while (m.hentAntallKniver() > 1) { Kniv[] kniver = m.taUtToKniver(); if (kniver != null) { Saks saks = new Saks(kniver[0], kniver[1]); m.settInn(saks); } } try { cb.await(); } catch (InterruptedException | BrokenBarrierException e) { e.printStackTrace(); } } }