gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 17:31:23 27 4
gpt4 key购买 nike

我有一个包含类型集合字段的类。

问题:

  1. 如果我lock(this),我是否也有效地锁定了集合?
  2. 执行 lock(this) 或创建 SyncRoot 对象并执行 lock(SyncRoot) 哪个更有效?<

最佳答案

不要锁定this。也可能是其他人将该实例用作 lock 对象。使用专门指定的 lock 对象。

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) ?

高效? 关注语义。 lockthis 很危险。不要这样做。性能差异(如果有)并不重要。

说真的,这就像在问什么能让我更快到达目的地,是在高速公路上以错误的方式以 100 MPH 行驶,还是步行?

关于c#锁问题: lock(this) vs lock(SyncRoot),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6510339/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com