设计模式(1)单例模式
来源:互联网 发布:qq mac 摄像头不能用 编辑:程序博客网 时间:2024/05/21 22:34
单例模式的特点:
- 只能有一个实例
- 必须自己创建一个唯一的实例
- 必须给其他对象提供此唯一实例
相当于是全局共享一个此对象的实例
单例模式的代码如下:
以下为线程安全的单例模式代码,不安全的单例模式代码只需移除锁即可
public class SnIrisVerify { //构造函数为私有,防止被外部初始化 private SnIrisVerify() { } //静态对象,所有地方使用到的都是此对象 private static SnIrisVerify _SnIrisVerify=null; //锁对象,用于防止同时创建对象 private static readonly object lockHelper = new object(); public static SnIrisVerify CreateInstance() { //判断对象是否被创建 if (_SnIrisVerify == null) { //在创建对象之前先锁住,防止被同时访问创建 lock (lockHelper) { //在锁释放后,判断对象是否已经创建,防止重复创建 if (_SnIrisVerify == null) _SnIrisVerify = new SnIrisVerify(); } } return _SnIrisVerify; }}
在C#中可使用readonly
public class SnIrisVerify{ private SnIrisVerify(){} public static readonly SnIrisVerify GetSnIrisVerify()=new SnIrisVerify();}
阅读全文
0 0
- 设计模式(1)-单例模式
- 设计模式(1):单例模式
- 设计模式(1):单例模式
- 设计模式(1):单例模式
- 单例模式(设计模式1)
- 设计模式(1)单例模式
- 设计模式(1)单例模式
- 设计模式(1)-单例模式
- 模式设计1--单例设计模式
- 【设计模式】## 1、单例设计模式 ##
- 设计模式(单例设计模式)
- 设计模式(单例设计模式)
- java(1) 设计模式-单例设计模式
- 设计模式(1):单例设计模式
- 设计模式之单例设计模式(饿汉单例设计模式&懒汉单例设计模式)
- 设计模式(工厂模式、单例模式、模板模式)
- 设计模式(单例模式,工厂模式,适配器模式)
- 【笔记】设计模式 - 1 单例模式
- F1V2.x-图形-离线地图使用
- 策略设计模式 Strategy Design Pattern
- Linux: could not open lock file /var/lib/dpkg/lock -open (13: Permission denied)
- woff2文件找不到的问题
- 二维树状数组
- 设计模式(1)单例模式
- Windows + Faster R-CNN配置若干问题与解决
- web.xml中关于Servlet、Filter、Listener的配置
- Android--获取当前系统的语言环境
- 简单入门循环神经网络RNN:时间序列数据的首选神经网络
- iOS判断一些权限是否被禁止
- mybatis字符串比较
- Spark计算结果继续追加在HDFS目录下,不会覆盖之前的文件
- WebApi发布到外网提示404问题