使用锁(这个)的一个很好的理由

本文关键字:一个 很好 理由 这个 | 更新日期: 2023-09-27 18:36:23

有许多帖子,投票和答案表明使用lock (this)不是推荐模式(更不用说糟糕的模式了)。

例如,看看这个。

当我试图稍微研究这种模式时,并想问是否有人能想到实际上建议使用lock (this)甚至必须使用的情况?

使用锁(这个)的一个很好的理由

锁定 THIS 是邪恶的。这意味着有人可能会决定锁定您的实例。这意味着您的实例将等到其他人释放它。

经验法则:永远不要锁定它,而创建一个单独的(私有)对象来锁定。

但。。。问题更深:锁定是有目的的,通过锁定,您可以为上层对象提供保护,但它不会阻止更新例如集合中的基础对象。

在大多数情况下,不需要锁。阅读这个主题是我的建议。

SO上的多个问题涵盖了您的问题。应该不难建立关于不锁定这一点的动机的意见。

进一步

阅读的示例和指针可以在Phil Haack的博客上找到