我正在阅读 lock语句 (C# 参考),其中我看到了这段代码:
class Account
{
private Object thisLock = new Object();
//...
int Withdraw(int amount)
{
lock (thisLock)
{
//....
}
}
//...
}
我在想,如果我们在上面的例子中写
lock(this)
而不是 lock(thisLock)
,是否会有任何不同。 如果您的答案取决于它,请查看完整示例。如果您认为
lock(this)
和lock(thisLock)
之间确实有区别,则请帮助我理解其中的所有重要点的区别。 特别地,每个究竟意味着什么?