00017-java-security-code-line-dead-lock
17. java安全编码指南之:死锁dead lock
简介
不同的加锁顺序
public class DiffLockOrder {
private int amount;
public DiffLockOrder(int amount){
this.amount=amount;
}
public void transfer(DiffLockOrder target,int transferAmount){
synchronized (this){
synchronized (target){
if(amount< transferAmount){
System.out.println("余额不足!");
}else{
amount=amount-transferAmount;
target.amount=target.amount+transferAmount;
}
}
}
}
}使用private类变量
使用相同的Order
释放掉已占有的锁
最后更新于
这有帮助吗?