使锁定考虑Equals()操作

时间:2015-08-09 11:50:52

标签: c# .net locking

是否可以在类中锁定Equals运算符的覆盖?我的意思是当一个类的不同对象的Equals()返回true时,lock()将它们视为同一个对象。

1 个答案:

答案 0 :(得分:0)

不,这是不可能的。

lock语句在每个分配的引用类型内部进行中继,这是该对象在其对象头中的“同步块”。一旦对该对象进行了锁定,该位标志就被设置为1.这就是运行时知道该对象当前被用作锁的方式。 <{1}}时,没有检查对象是否相等。