import java.util.ArrayList; import java.util.concurrent.CountDownLatch; public class SaksProdusent implements Runnable { private KnivMonitor knivMonitor; private SaksMonitor saksMonitor; private CountDownLatch latch; public SaksProdusent(KnivMonitor kMon, SaksMonitor sMon, CountDownLatch lat) { knivMonitor = kMon; saksMonitor = sMon; latch = lat; } @Override public void run() { ArrayList kniver = knivMonitor.taUtToKniver(); while (kniver != null) { Saks nySaks = new Saks(kniver.remove(0), kniver.remove(0)); saksMonitor.settInn(nySaks); kniver = knivMonitor.taUtToKniver(); } latch.countDown(); } }