gpt4 book ai didi

design-patterns - 在性能受限的情况下,在 C# 中实现单例设计模式的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-03 07:17:12 24 4
gpt4 key购买 nike

请告诉我在 C# 中实现具有性能限制的单例设计模式的最佳方法是什么?

最佳答案

转述自C# in Depth :在 C# 中实现单例模式有多种不同的方法,从对于完全延迟加载、线程安全、简单且高性能的版本而言,不是线程安全的。

最佳版本 - 使用 .NET 4 的 Lazy 类型:

public sealed class Singleton
{
private static readonly Lazy<Singleton> lazy =
new Lazy<Singleton>(() => new Singleton());

public static Singleton Instance { get { return lazy.Value; } }

private Singleton()
{
}
}

它很简单并且性能良好。它还允许您使用 IsValueCreated 检查实例是否已创建。属性(property),如果您需要的话。

关于design-patterns - 在性能受限的情况下,在 C# 中实现单例设计模式的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2902347/

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