//Monitor
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
class Bankkonto {
int saldo = 0;
Lock laas = new ReentrantLock();
Condition ikkeTomt = laas.newCondition();
public void settInn(int belop){
laas.lock();
try{
saldo += belop;
System.out.println("Satt inn "+belop+" kroner, ny saldo er "+saldo);
ikkeTomt.signalAll();
}finally{
laas.unlock();
}
}
public void taUt(int belop) throws InterruptedException{
laas.lock();
try{
while (saldo < belop){
ikkeTomt.await();
}
saldo -= belop;
System.out.println("Tok ut "+belop+" kroner, ny saldo er "+saldo);
}finally{
laas.unlock();
}
}
}