import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; class Bankkonto { int saldo = 0; Lock lås = new ReentrantLock(); Condition ikkeTomt = lås.newCondition(); public void settInn(int beløp){ lås.lock(); try{ saldo += beløp; ikkeTomt.signalAll(); }finally{ lås.unlock(); } } public void taUt(int beløp) throws InterruptedException{ lås.lock(); try{ while (saldo < beløp){ ikkeTomt.await(); } saldo -= beløp; //System.out.println("Tok ut "+beløp+", ny saldo: "+saldo); }finally{ lås.unlock(); } } }