gpt4 book ai didi

c# - 什么时候锁定类型是个好主意?

转载 作者:行者123 更新时间:2023-11-30 19:46:40 25 4
gpt4 key购买 nike

从其他问题我可以看出锁定类型是个坏主意。但这样做是可能的,所以我想知道这样做是否是一件坏事,为什么允许这样做?我假设一定有很好的用例来实现它的目的,所以有人可以告诉我它们是什么吗?

最佳答案

这几乎总是一个坏主意:

  • 任何人都可以从代码中的任何位置锁定类型,因此如果不查看所有代码,就无法确定不会出现死锁。
  • 锁定一个类型甚至会导致跨 AppDomain 的死锁。请参阅 Joe Duffy 的文章:Don't lock on marshal-by-bleed objects.

这是允许的,因为对于您可以用作锁定对象的对象几乎没有任何限制。换句话说,它并没有被特别允许——只是 .NET 框架中没有任何代码不允许它。

“调试 Microsoft .NET 应用程序”一书包含 FxCop 规则 DoNotLockOnTypes 的源代码,如果您尝试这样做,它会发出警告。 ( thanks to Christian.K )

关于c# - 什么时候锁定类型是个好主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8209243/

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