我有一个问题,我无法解决这个问题
void Transfer(Account a, Account b, decimal amount)
{
lock (a) {
lock (b) {
if (a.Balance < amount)
throw new InsufficientFundsExc();
a.Balance -= amount;
b.Balance += amount;
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是"这是银行账户之间的转移."锁定(...)"结构用于对抗竞争条件.这个问题是什么?你提出什么解决方案?你可以帮我吗?