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