c#锁定问题:lock(this)vs lock(SyncRoot)

我有一个类的字段类型收集.

问题:

>如果我锁定(这个),我有效地锁定收集吗?
>更有效率,做锁(这个)还是创建一个SyncRoot对象并做锁(SyncRoot)?

解决方法

不要锁定这个.可能是其他人也将实例用作锁定对象的情况.使用专门指定的锁定对象.

1) if I lock(this),do I effectively lock the collection too?

没有.

2) what is more efficient,to do lock(this) or to create a SyncRoot object and do lock(SyncRoot) ?

高效?专注于语义学锁定在这是危险的.不要这样做性能差异(如果有的话)不重要.

真的很像,询问什么会更快地让我到达目的地,在高速公路上行驶100公里的高速公路,或走路?

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...