考虑您有以下代码:
1. 为什么我们使用双检查锁,为什么单锁不够好,请提供详细示例。
2. 这种实现的主要缺点是什么?我应该如何证明呢?
谢谢。
public sealed class SomeSingleton5
{
private static SomeSingleton5 s_Instance = null;
private static object s_LockObj = new Object();
private SomeSingleton5() { }
public static SomeSingleton5 Instance
{
get
{
if (s_Instance == null)
{
lock (s_LockObj)
{
if (s_Instance == null)
{
s_Instance = new SomeSingleton5();
}
}
}
return s_Instance;
}
}
}