我们使用双重锁定的懒加载单例模式来确保实例只被初始化一次,而不是因为线程竞争而初始化两次。
我想知道是否仅使用Lazy<T>
就可以很好地解决这个问题?
即:
private static Lazy<MyClass> _instance = new Lazy<MyClass>(() => return new MyClass());
public static MyClass Instance
{
get
{
return _instance.Value;
}
}