import java.util.concurrent.locks.*; import java.util.*; public class MistenkeligePersoner { Lock laas = new ReentrantLock(); Condition ikkeTomt = laas.newCondition(); Prioriteringskoe passasjerer = new Prioriteringskoe(); public void settInn(Passasjer p, int prio){ laas.lock(); try{ passasjerer.settInn(p,prio); ikkeTomt.signalAll(); }catch(InterruptedException e){ }finally{ laas.unlock(); } } public Passasjer taUt(){ laas.lock(); try{ while(passasjerer.antall() == 0){ ikkeTomt.await(); } //burde sørge for at dette er den riktige return passasjerer.taUt(); }catch(InterruptedException e){ }finally{ laas.unlock(); } } }