none
usage du mot clé lock RRS feed

  • Question

  • Bonjour,

    Soit le code suivant

    class Account{
    
    decimal balance;
            private Object thisLock = new Object();
    
            public void Withdraw(decimal amount)
            {
                lock (thisLock)
                {
                    if (amount > balance)
                    {
                        throw new Exception("Insufficient funds");
                    }
                    balance -= amount;
                }
            }
        }

    Pouvez-vous m'expliquer pourquoi, du fait de cette partie de code

     lock (thisLock)
                {
                    if (amount > balance)
                    {
                        throw new Exception("Insufficient funds");
                    }
                    balance -= amount;
                }

    la valeur de balance n'est jamais <0.

    C'est du moins ce qui est expliqué au jiveau du cours relatif à l'usage du mot clé lock.

    Merci beaucoup de votre aide sur ce point.

    Cordialement.


    developement


    lundi 23 mars 2015 09:18

Réponses