gpt4 book ai didi

.net - .NET 中的双重检查锁定

转载 作者:行者123 更新时间:2023-12-03 05:58:23 25 4
gpt4 key购买 nike

我遇到了this文章讨论了为什么 Java 中的双重检查锁定范例被破坏。如果变量被声明为 volatile ,该范例对于.NET(特别是C#)是否有效?

最佳答案

双重检查锁定现在可以在 Java 和 C# 中使用(Java 内存模型发生了变化,这是影响之一)。但是,您必须完全正确。如果你把事情搞砸了,哪怕只是一点点,你很可能最终会失去线程安全性。

正如其他答案所述,如果您正在实现 singleton pattern有很多更好的方法可以做到这一点。就我个人而言,如果我必须在自己实现双重检查锁定和“每次锁定”代码之间做出选择,我会每次都选择锁定,直到我得到真正的证据表明它导致了瓶颈。当谈到线程时,一个简单且明显正确的模式非常有值(value)。

关于.net - .NET 中的双重检查锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/394898/

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