在C#中,通常使用lock(objLock),其中objLock是为了锁定而创建的对象。
为什么锁定(这个)更可取?除了锁定类本身之外,lock(this)的负面含义是什么?
答案 0 :(得分:15)
因为其他东西可以锁定实例,那么你就会陷入僵局。
如果您锁定了专门为此目的而创建的对象,则您知道自己完全可以控制,并且没有其他任何内容会意外锁定它。
答案 1 :(得分:2)
如果锁定任何公共内容,那么该类和其他类都可以尝试锁定。创建同步对象很容易,而且总是优先考虑;
private syncLock = new Object();