package com.zindell.course.samples; class Cashier { private int balance; public int getBalance() { return balance; } public synchronized void withdraw(int sumToWithdraw) { while (balance - sumToWithdraw < 1000) { try { wait(); } catch (InterruptedException e) { } } balance -= sumToWithdraw; System.out.println("\t\t\t\t\twithdraw " + sumToWithdraw+" (balance="+balance+")"); } public synchronized void deposit(int sumToDeposit) { balance += sumToDeposit; if (balance >= 1000) notifyAll(); System.out.println("deposit " + sumToDeposit +"(balance="+balance+")"); } }