单例模式
来源:互联网 发布:阿里云acp认证 编辑:程序博客网 时间:2024/05/29 16:32
1.定义: 某一个类只有一个实例,并且这个实例是在类内部进行实例化,并向整个系统提供该实例。
2.单例模式的通用代码:
public sealed class Singleton
{
private static sealed Singleton _singleton = new Singleton();
private Singleton() { }
public static Singleton GetInstance()
{ return _singleton; }
public static void DoSomething() { }
}
3.优点:
3.1减少内存开销,适合对象频繁创建和销毁,提升性能。
3.2生成全局对象,资源共享。 缺点:
4.单例模式使用场景 内存只能有一个对象 //本质:内存中只能有一个对象 //案例:定时器,计数器 //
使用场景:一个项目只要一个共享访问点和共享数据;创建对象消耗资源比较多,如IO操作和数据库读取 //
注意:线程安全
public sealed class Singleton
{ private static Singleton _singleton = null;
private static readonly object _synLock = new object();
private Singleton(){}
public static Singleton GetInstance()
{ lock (_synLock) { if (_singleton==null) _singleton = new Singleton(); return _singleton; }
}
}
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- MySQL数据库优化经验详谈(服务器普通配置)
- 数组实现二叉树
- keras自动编码器实现系列之卷积自动编码器
- AdversarialNetsPapers: The classical Papers about adversarial nets
- Android_设置软盘监听事件
- 单例模式
- “玲珑杯”线上赛 Round #17 震惊,99%+的中国人都会算错的问题(容斥原理)
- KMP算法 Next数组详解(【洛谷3375】KMP字符串匹配 )
- hadoop3种集群方式搭建---独立模式
- 阅读-《诗经·秦风·无衣》
- 洛谷 P1272 重建道路
- load和initialize的区别
- 设计模式(七)factory method
- 【微机实验系列】基于微机的串行通信口扩展