欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > asp.net >内容正文

asp.net

设计模式之 Singleton 单例模式

发布时间:2025/4/16 asp.net 57 豆豆
生活随笔 收集整理的这篇文章主要介绍了 设计模式之 Singleton 单例模式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

先上两段代码,区别仅在于是否涉及线程安全。

首先是不涉及多线程的单例:
public class Singleton {private final static Singleton INSTANCE = new Singleton(); private Singleton() {} public static Singleton getInstance() { return INSTANCE; } }
double check版的单例,线程安全:
public class Singleton {private static volatile Singleton INSTANCE = null; private Singleton() {} public static Singleton getInstance() { if(INSTANCE == null){ synchronized(Singleton.class){ if(INSTANCE == null){ INSTANCE = new Singleton(); } } } return INSTANCE; } }
1.单例的构造和指向单例的静态成员是私有的
2.单例的对外接口是共有的,一般是getInstance或者create之类的静态函数
3.单例成员可以在变量声明时创建,也可以在公共接口
getInstance中创建,具体看应用场景
4.非多线程环境下不需要double check,不必过度使用模式

转载于:https://www.cnblogs.com/fifila/p/4159959.html

总结

以上是生活随笔为你收集整理的设计模式之 Singleton 单例模式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。