В чем разница между блокировкой (this) и блокировкой (thisLock)?

Я читаю Заявление о блокировке (Справочник по C #) , где я видел этот код:

class Account
{
    private Object thisLock = new Object();

    //...

    int Withdraw(int amount)
    {
        lock (thisLock)
        {
           //....
        }
    }

    //...
}

Я интересно, будет ли какая-нибудь разница, если мы напишем lock (this) вместо lock (thisLock) в приведенном выше примере. Пожалуйста, посмотрите полный пример , если ваш ответ зависит от него.

Если вы считаете, что между блокировкой (this) и блокировкой (thisLock) действительно есть разница, то помогите мне понять разницу во всех важных моментах. В частности, что означает каждый в точности ?

8
задан Nawaz 25 July 2011 в 11:35
поделиться