c# - 为什么 lock(objLock) 比 lock(this) 更好

标签 c# locking

<分区>

Possible Duplicates:
Why is lock(this) {...} bad?


在 C# 中,通常使用 lock(objLock),其中 objLock 是一个仅为了锁定目的而创建的对象。

为什么 this 比 lock(this) 更可取?除了锁定类本身之外,lock(this) 的负面影响是什么?

最佳答案

因为其他东西可能会锁定实例,所以你会遇到死锁。

如果您锁定了专门为此目的创建的对象,您就知道自己处于完全控制之中,没有其他任何东西会意外地锁定它。

关于c# - 为什么 lock(objLock) 比 lock(this) 更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/892535/

相关文章:

java - Java线程间如何同步文件写入实现最大并发

c# - 释放锁时出现 SynchronizationLockException(从未同步的代码块调用了对象同步方法。)

Java 线程转储 : Difference between "waiting to lock" and "parking to wait for"?

locking - SVN : how to lock a file so that no one can modifiy it?

c# - 如何在 .Net 核心 API Controller 中添加扩展方法

c# - 为什么从针对任何 CPU 的 C# 项目调用时,此代码会抛出 System.AccessViolationException?

c# - gridview 以编程方式编辑模式

c# - XAML 中的公共(public)静态控件

android - 如何测试 Activity 不活动时间

c# - SQLite 查询后 Reader 丢失值