C#设计模式之Singleton模式

2020-06-11 18:00:23王旭

输出结果中可以看到,我们达到了想要的效果:

在上面的代码中,私有变量_Instance现在是被声明为延迟初始化,这样不但天然实现了线程安全,同时在没有调用Instance静态方法的时候(也即没有调用_Instance.Value),初始化不会发生,这样就提高了效率。

总结

Singleton模式很常见,实现起来也很简单,只是要小心线程安全。以上三种方法都可以实现线程安全的Singleton模式。如果net 版本在4.0之上,建议使用Lazy版本,毕竟对比Lock版本,Lazy版本可以免去实现手动Lock之苦,对比Static版本,又有延迟初始化的性能优势,何乐而不为呢?

以上就是C#设计模式之Singleton模式的详细内容,更多关于C#中的Singleton模式的资料请关注易采站长站其它相关文章!