我试图在springboot中做一个涉及多线程的项目。
在银行应用程序,我可以像操作doWithdrawal()如synchronized以保持帐户的完整性,但我无法弄清楚如何在只有特定帐户的水平做到这一点。
由于不同账号的用户应该可以同时进行提款,所以用我当前的代码doWithdrawal()将使所有操作同步,而不考虑账号。
目前我在下面有非常基本的功能,我已经将一个账户的提款作为一项synchronized操作使用。我想要一个场景,不同的账户持有人可以同时从自己的账户中提款,但同时从同一个账户中多次提款,只有这个过程应该是同步的。
所以我在这里寻找的是应用程序应该如何设计为具有这样的功能,我知道我们可以@Async用于异步操作,但不确定它如何适合同一帐户的提款应该是同步但不同的场景异步。
Account.java
public class Account {
int number ;
float currentBalance ;
float openingBalance ;
String accountHolder ;
String branch ;
float rateOfInterest ;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public float getCurrentBalance() {
return currentBalance;
}
public void setCurrentBalance(float currentBalance) {
this.currentBalance = currentBalance;
}
public float getOpeningBalance() {
return openingBalance;
}
public void setOpeningBalance(float openingBalance) {
this.openingBalance = openingBalance;
}
public String getAccountHolder() {
return accountHolder;
}
public void setAccountHolder(String accountHolder) {
this.accountHolder = accountHolder;
}
public String getBranch() {
return branch;
}
public void setBranch(String branch) {
this.branch = branch;
}
public float getRateOfInterest() {
return rateOfInterest;
}
public void setRateOfInterest(float rateOfInterest) {
this.rateOfInterest = rateOfInterest;
}
}
饮歌长啸
相关分类