package com.hmm.homework;
public class HomeWork02 {
public static void main(String[] args) {
Bank bank = new Bank();
User user1 = new User("zs", bank);
User user2 = new User("ls", bank);
Thread thread1 = new Thread(user1);
Thread thread2 = new Thread(user2);
thread1.start();
thread2.start();
}
}
class Bank {
private int balance = 10000; // 初始总额:10000
public synchronized void withdraw(String name, int amount) {
if (balance >= amount) {
System.out.println(name + "取款成功,取款金额:" + amount);
balance -= amount;
System.out.println("当前余额:" + balance);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
} else {
System.out.println(name + "余额不足,无法取款");
User.loop = false;
}
}
}
class User implements Runnable {
private String name;
private Bank bank;
static boolean loop = true;
public User(String name, Bank bank) {
this.name = name;
this.bank = bank;
}
@Override
public void run() {
while (loop) {
bank.withdraw(name, 1000);
}
}
}