import java.util.concurrent.locks.*; class MinMonitor { int verdi; Lock laas = new ReentrantLock(); public MinMonitor(int startVerdi){ verdi = startVerdi; } public void leggPaa(int tall){ laas.lock(); try { int nyVerdi = verdi; nyVerdi = nyVerdi + tall; Thread.sleep(1); verdi = nyVerdi; } catch(Exception e){ } finally{ laas.unlock(); } } public void trekkFra(int tall){ laas.lock(); try { int nyVerdi = verdi; nyVerdi = nyVerdi - tall; try { Thread.sleep(1); } catch(Exception e){} verdi = nyVerdi; } finally{ laas.unlock(); } } public int hentVerdi(){ return verdi; } }