zoukankan      html  css  js  c++  java
  • 单例模式MVC

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace SingleLeton
    {
    public class SingleLeton
    {
    //声明一个静态的变量用于存储实体
    //3.为了保存创建的实例定义一个静态的变量来保存的实例
    private static SingleLeton _instance = null;

    /// <summary>
    /// 4.创建一个对象,用于枷锁,防止多线程创建多个实例
    /// </summary>
    private static object locker = new object();

    /// <summary>
    /// 1.私有的构造函数,杜绝了用户直接New来获取对象实例(防止用户随便New 为的就是这个主题单例模式,不然的话 就不是单例的可能是都可以访问的那种)
    /// </summary>
    private SingleLeton()
    {

    }

    /// <summary>
    /// 2.定义了静态的公共方法用于获取实例对象
    /// 提供一个实例访问入口
    /// </summary>
    /// <returns></returns>
    public static SingleLeton GetIntence()
    {
    //如果_instance==null才进行加锁
    if (_instance == null)
    {


    //第一个线程进来,就把这片区域锁住,其他的线程进不来,等当前线程完成后其他线程才可以进场
    lock (locker)
    {
    if (_instance == null)
    {
    //因为在同一个类可以访问私有的 故可以New
    _instance = new SingleLeton();
    }
    }
    }
    return _instance;
    }
    }
    }

  • 相关阅读:
    【简单算法】27.验证二叉搜索树
    【简单算法】26. 二叉树的最大深度
    【简单算法】25. 环形链表
    pandas 数据处理
    主成分分析 PCA
    hive 导出数据到本地
    深度学习的优化方法 总结
    ALS算法 (面试准备)
    Bagging和Boosting的区别(面试准备)
    ROC 曲线,以及AUC计算方式
  • 原文地址:https://www.cnblogs.com/yaodengfeng/p/7800369.html
Copyright © 2011-2022 走看看