Я читаю Заявление о блокировке (Справочник по C #) , где я видел этот код:
class Account
{
private Object thisLock = new Object();
//...
int Withdraw(int amount)
{
lock (thisLock)
{
//....
}
}
//...
}
Я интересно, будет ли какая-нибудь разница, если мы напишем lock (this)
вместо lock (thisLock)
в приведенном выше примере. Пожалуйста, посмотрите полный пример , если ваш ответ зависит от него.
Если вы считаете, что между блокировкой (this)
и блокировкой (thisLock)
действительно есть разница, то помогите мне понять разницу во всех важных моментах. В частности, что означает каждый в точности ?