<分区>
Possible Duplicate:
Why is lock(this) {…} bad?
在 C# 中,为了使临界区线程安全,我们可以使用 lock()
语句。 lock 语句接受一个对象。如果我们将 this
传递给 lock 语句有什么问题?
标签 c# multithreading
<分区>
Possible Duplicate:
Why is lock(this) {…} bad?
在 C# 中,为了使临界区线程安全,我们可以使用 lock()
语句。 lock 语句接受一个对象。如果我们将 this
传递给 lock 语句有什么问题?
最佳答案
因为 this
没有被类封装,因此很难推断谁锁定了 this。 IE。为了找出代码的哪一部分锁定在 this
上,您需要进行大量检查。另一方面,如果您将锁定限制为私有(private)成员,则很容易推断出锁定发生的位置。
关于c# - 为什么我们应该避免锁定(this)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3737704/