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;
    }
    }
    }

  • 相关阅读:
    mongodb 记录
    php保存文件
    调用AngularJS的API
    angular修改数据
    大小写转换
    使用Properties类动态加载配置文件里的内容
    org.apache.commons.cli.Options
    Google guava和Apache commons
    orc格式文件
    shell的awk命令使用
  • 原文地址:https://www.cnblogs.com/yaodengfeng/p/7800369.html
Copyright © 2011-2022 走看看