c#单例模式的实现
发布日期:2021-08-13 23:38:32 浏览次数:48 分类:技术文章

本文共 1179 字,大约阅读时间需要 3 分钟。

单例模式定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供。

  实现要点:

    1、是单例模式的类只提供私有的构造函数。

      2、是类定义中含有一个该类的静态私有对象。

    3、是该类提供了一个静态的共有的函数用于创建或获取它本身的静态私有对象。

  双重锁定实现代码(多线程内):

namespace Singleton{    public class Singleton    {        //定义一个私有的静态全局变量来保存该类的唯一实例        private static Singleton _singleton;        //定义一个只读静态对象        //且这个对象是在程序运行时创建的        private static readonly object _lockObj = new object();        ///         /// 构造函数必须是私有的        /// 这样在外部便无法使用 new 来创建该类的实例        ///         private Singleton() { }        ///         /// 定义一个全局访问点        /// 设置为静态方法        /// 则在类的外部便无需实例化就可以调用该方法        ///         /// 
public static Singleton GetInstance() { //这里可以保证只实例化一次 //即在第一次调用时实例化 //以后调用便不会再实例化 //第一重 singleton == null if (_singleton == null) { lock (_lockObj) { //第二重 singleton == null if (_singleton == null) { _singleton = new Singleton(); } } } return _singleton; } }}

 

转载于:https://www.cnblogs.com/jara/p/3913669.html

转载地址:https://blog.csdn.net/weixin_30700977/article/details/95834546 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【转】图像分割代码合集
下一篇:重新生成索引和重新组织索引

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月15日 23时58分05秒