我正在实现一个单例模式,并且需要初始化为线程安全。线程安全Singletion静态方法初始化
我已经看到了几种方法来做到这一点,就像使用双重检查锁执行,或其他技术(即:http://csharpindepth.com/articles/general/singleton.aspx)
我想知道如果下面的办法,这是类似的第四个版本在文章中,是线程安全的。我基本上在静态字段初始值设定项中调用一个方法,该方法创建实例。我不在乎懒惰。谢谢!
public static class SharedTracerMock
{
private static Mock<ITracer> tracerMock = CreateTracerMock();
private static Mock<ITracer> CreateTracerMock()
{
tracerMock = new Mock<ITracer>();
return tracerMock;
}
public static Mock<ITracer> TracerMock
{
get
{
return tracerMock;
}
}
}
非常感谢乔恩,像往常一样非常有帮助和详细! – 2014-11-21 07:09:17
c#6部分很不错 – Disposer 2014-11-21 10:55:49