package acount;
public class Acount {
private int balance=500;
public int getBalance() {
return balance;
}
public void Withdraw(int amount) {
this.balance=this.balance-amount;
}
}
package acount;
public class Acountrun implements Runnable{
private Acount a=new Acount();
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < 5; i++) {
makeWithdraw(100);
if (a.getBalance()<0) {
System.out.println("账户透支了");
}
}
}
private void makeWithdraw(int amt) {
// TODO Auto-generated method stub
if (a.getBalance()>=amt) {
System.out.println(Thread.currentThread().getName()+"准备取款");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
a.Withdraw(amt);
System.out.println("完成取款************");
} else {
System.out.println(Thread.currentThread().getName()+"的余额为:"+a.getBalance());
}
}
}
package acount;
public class AcountTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Acountrun a = new Acountrun();
new Thread(a,"张三").start();
new Thread(a,"张三的妻子").start();
}
}
张三准备取款
张三的妻子准备取款
完成取款************
完成取款************
张三准备取款
张三的妻子准备取款
完成取款************
张三准备取款
完成取款************
张三的妻子准备取款
完成取款************
完成取款************
张三准备取款
张三的妻子的余额为:0
张三的妻子的余额为:0
完成取款************
账户透支了
张三的余额为:-100
账户透支了