次のコードがあるとします
。 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;
        }
    }
}