package atm;

public class SynchATM implements Runnable {

	private BankAccount account_;

	/**
	 * @param account
	 */
	public SynchATM ( BankAccount account ) {
		super();
		account_ = account;
	}

	/*
	 * (non-Javadoc)
	 * @see java.lang.Runnable#run()
	 */
	@Override
	public void run () {
		for ( int i = 0 ; i < 50 ; i++ ) {
			synchronized ( account_ ) {
				int balance = account_.getBalance();
				Thread.yield();
				account_.setBalance(balance - 10);
			}
		}
		System.out.println("total withdrawn: $500");
	}

}
