public class Cuenta {
    private int saldo = 50;
   
    public Cuenta(){       
    }

    public int getBalance(){
        return saldo;
    }
    // Si el metodo es sincronizado: se empieza y se termina 
    // sin que nadie se pueda meter por medio
    // Ver la diferencia cuando no esta sicronizado
    //public void saca(String quien,int cuanto){
    public synchronized void saca(String quien,int cuanto){
       System.out.print(quien+" saca "+cuanto);
       if(getBalance()>=cuanto){
           try{Thread.sleep(500);}catch(Exception e){}
           saldo-=cuanto;
        }else{
           try{Thread.sleep(500);}catch(Exception e){} 
            System.out.print(" SALDO INSUFICIENTE ");
        }
        System.out.println(". Saldo="+getBalance());
    }
}
