写一个java程序,采用多线程机制模拟汇款业务。定义一银行类可接受顾客的汇款,其属性count用于存储账户金额。现有两名顾客,每人分三次、每次100元将钱汇入count。每进行一次汇款,便输出汇款人和账户总额。
时间: 2023-12-03 14:04:22 浏览: 71
好的,以下是一个简单的 Java 程序,采用多线程机制模拟汇款业务:
```java
public class Bank {
private int count = 0;
public synchronized void deposit(String name, int money) {
count += money;
System.out.println(name + " 汇入 " + money + " 元,账户总额为 " + count + " 元。");
}
}
public class Customer implements Runnable {
private String name;
private Bank bank;
public Customer(String name, Bank bank) {
this.name = name;
this.bank = bank;
}
public void run() {
for (int i = 1; i <= 3; i++) {
bank.deposit(name, 100);
}
}
}
public class Main {
public static void main(String[] args) {
Bank bank = new Bank();
Customer c1 = new Customer("顾客1", bank);
Customer c2 = new Customer("顾客2", bank);
new Thread(c1).start();
new Thread(c2).start();
}
}
```
程序中定义了一个 Bank 类,用于存储账户金额。Bank 类中的 deposit() 方法是同步方法,保证了多个线程同时进行汇款时,账户金额的正确性。
程序还定义了一个 Customer 类,用于模拟顾客进行汇款。在 Customer 类的 run() 方法中,顾客进行三次每次 100 元的汇款操作,并调用 Bank 类中的 deposit() 方法进行汇款。
在主函数中,创建了两个顾客对象 c1 和 c2,分别启动了两个线程来模拟两个顾客同时进行汇款的情况。运行程序后,程序会输出每次汇款的情况,包括汇款人和账户总额。
阅读全文