Synchronization cpp中的多线程难题

Synchronization cpp中的多线程难题,synchronization,Synchronization,每个帐户中都有一个互斥锁。在事务之前,锁定两个互斥锁(当然,之后再释放它们)。锁定顺序很重要;为了避免死锁,您需要定义一个锁定顺序,例如始终首先使用最低帐号锁定帐户。每个帐户中都有一个互斥锁。在事务之前,锁定两个互斥锁(当然,之后再释放它们)。锁定顺序很重要;为避免死锁,您需要定义一个锁定顺序,例如始终首先使用最低帐号锁定帐户。感谢您的回复。很好的解决方案。感谢您的回复。很好的解决方案。 void BalanceTransfer(Account &FromAccount, Account

每个帐户中都有一个互斥锁。在事务之前,锁定两个互斥锁(当然,之后再释放它们)。锁定顺序很重要;为了避免死锁,您需要定义一个锁定顺序,例如始终首先使用最低帐号锁定帐户。

每个帐户中都有一个互斥锁。在事务之前,锁定两个互斥锁(当然,之后再释放它们)。锁定顺序很重要;为避免死锁,您需要定义一个锁定顺序,例如始终首先使用最低帐号锁定帐户。

感谢您的回复。很好的解决方案。感谢您的回复。很好的解决方案。
void BalanceTransfer(Account &FromAccount, Account &ToAccount, double amount)
{
    FromAccount.Substract(amount);
    ToAccount.Add(amount);
    //What is the best way to protect this function if there are 100 threads calling this function for 1000's of accounts...
}