1       ///<summary>
 2         /// 尝试单例模式
 3         /// </summary>
 4         public class Db
 5         {
 6             /// <summary>
 7             /// 需要的数据库
 8             /// </summary>
 9             private static readonly SPMEntities db = new SPMEntities();//因为该字段是静态的,而所在类又是单例的,所以该类生命周期中,该字段不会变。
10             static volatile Db _instance = null;
11             static readonly object padlock = new object();
12             /// <summary>
13             /// 私有的构造方法
14             /// </summary>
15             private Db()
16             {
17
18             }
19             public static Db GetInstance() //防止多线程并发导致失去单例,因此多重检测
20             {
21                 if (_instance == null)
22                 {
23                     lock (padlock)
24                     {
25                         if (_instance == null)
26                         {
27                             _instance = new Db();
28                         }
29                     }
30                 }
31                 return _instance;
32             }
33             public SPMEntities GetDb()//声明为实例方法,调用时可以这样: var entities = Db.GetInstance().GetDb();
34             {
35                 return db;
36             }
37         }

转载于:https://www.cnblogs.com/yy1234/p/8116458.html

单例模式中的属性实现相关推荐

  1. Spring依赖注入的方式、类型、Bean的作用域、自动注入、在Spring配置文件中引入属性文件...

    1.Spring依赖注入的方式 通过set方法完成依赖注入 通过构造方法完成依赖注入 2.依赖注入的类型 基本数据类型和字符串 使用value属性 如果是指向另一个对象的引入 使用ref属性 User ...

  2. python私有属性怎么定义_Python中私有属性的定义方式

    Python没有类似于Java的private关键字, 但也可以为类定义私有属性. 只需将属性命名变为以__开头, 例如 __field. 示例代码: class Vector2D(object): ...

  3. php js怎么去掉类属性,如何修改DOM中的属性,类和样式

    通过jQuery来获取要修改的DOM元素,然后通过JavaScript中方法来对属性.类以及样式进行修改 今天在本篇文章中将分享的是如何通过修改html元素节点的样式,类和属性来进一步的更改dom,, ...

  4. junit集成Hamcrest测试集合中某个属性是否包含特定值

    junit已经集成Hamcrest但是还是需要引用hamcrest-library,不然只有基本方法,高级的没有 <dependency> <groupId>junit< ...

  5. CSS中background-position属性

    CSS中background属性是经常用到的,可以给某个块设置背景色.以下主要说明以下background-position属性的应用. 一般在设置background属性时的写法是: backgro ...

  6. SpringMVC js如何获取后台model中的属性值

    SpringMVC js如何获取后台model中的属性值 companylist 如何获取 var companylist="${companylist}"; 希望对你有所帮助 个 ...

  7. python类中的属性分为类属性和实例属性两种_python中类和实例如何绑定属性与方法示例详解...

    前言 python类与实例的方法的调用中觉得云里雾里,思考之后将自己的想法记录下,一来加深自己理解,巩固自己记忆,而来帮助一些想要学习python的朋友理解这门抽象的语言,由于Python是动态语言, ...

  8. 在Asp.Net MVC中实现RequiredIf标签对Model中的属性进行验证

    在Asp.Net MVC中可以用继承ValidationAttribute的方式,自定制实现RequiredIf标签对Model中的属性进行验证 具体场景为:某一属性是否允许为null的验证,要根据另 ...

  9. JS基础 -- 枚举对象中的属性

    /** 什么事枚举对象中的属性?* 下面以一个例子来慢慢解释*///创建一个对象var obj = {name: '唐一彩',age: 4000,gender: '男',address: '白马寺'} ...

最新文章

  1. 我的世界java版不会玩_我的世界:五张MC趣图,Java版玩家永远不懂基岩版玩家的痛...
  2. 小憩,味一二 ——08年3月编程手札
  3. 传说中的CAFEBABE到底在哪儿?
  4. Linux wc指令统计文件信息
  5. localdate计算相差天数_还在苦恼MySQL如何根据日期精确计算年龄?看这一篇,就够了
  6. C# winform中判断控件类型
  7. 程序员放弃月薪2W的工作,改行做销售,结果垫底,网友:瞎折腾
  8. NIS企业级应用案例-统一Linux和Windows身份验证(二)
  9. LeetCode 56. 合并区间(合并区间+排序)
  10. java怎么判断字符串是否为空的几种方法
  11. 关于删除/卸载win10自带IE 11浏览器后恢复问题
  12. i5 6500 HD530 台式机黑苹果记录
  13. Keil to STM32CubeIDE标准库移植
  14. java 配置文件乱码_java程序读取properties配置文件出现中文乱码
  15. line-height行高
  16. Linux:解压bz2文件
  17. 【转】jar参数运行应用时classpath的设置方法
  18. webmail 客户端_最受欢迎的Webmail客户端
  19. 邯郸北方计算机学校广平区,邯郸北方汽修学校25周年校庆暨2018家长会圆满成功...
  20. Time New Roman字体

热门文章

  1. 雅虎开源可以提升流操作速度的DataSketches
  2. iOS:(接口适配器3)--iPhone适应不同型号 6/6plus 前
  3. ORA-28056:Writing audit records to Windows Even...
  4. OutOfMemoryError dump memory
  5. 【mDNS】本地DNS解析协议
  6. WebKit 分析–for android
  7. TensorFlow高阶 API: keras教程-使用tf.keras搭建mnist手写数字识别网络
  8. 张志华教授《机器学习导论》和《统计机器学习》课程讲义
  9. Android微信界面的设计
  10. 为什么vue前端项目要使用nodejs