写一个java代码 采用多线程机制模拟汇款业务。定义一银行类可接受顾客的汇款,其属性 c ount 用于存储账户金额。现有两名顾客,每人分三次、每次100元将钱汇入 cou nt 。每进行一次汇款,便输出汇款人和账户总额
时间: 2023-12-03 10:04:21 浏览: 51
好的,以下是Java代码,使用了多线程机制模拟汇款业务:
```java
public class Bank {
private int count = 0;
public synchronized void remittance(String customerName, int amount) {
count += amount;
System.out.println(customerName + "汇款" + amount + "元,账户总额为:" + count);
}
public static void main(String[] args) {
Bank bank = new Bank();
RemittanceThread customer1 = new RemittanceThread(bank, "顾客1");
RemittanceThread customer2 = new RemittanceThread(bank, "顾客2");
customer1.start();
customer2.start();
}
}
class RemittanceThread extends Thread {
private Bank bank;
private String customerName;
public RemittanceThread(Bank bank, String customerName) {
this.bank = bank;
this.customerName = customerName;
}
@Override
public void run() {
for (int i = 1; i <= 3; i++) {
bank.remittance(customerName, 100);
}
}
}
```
这里定义了一个银行类 Bank,其中 count 属性用于存储账户金额。remittance 方法接受顾客的汇款,使用 synchronized 关键字实现线程同步。
在 main 方法中,创建了两个 RemittanceThread 线程,表示两名顾客,分别进行三次汇款。RemittanceThread 继承自 Thread 类,重写 run 方法,在其中调用 Bank 的 remittance 方法进行汇款。
阅读全文