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

  • 相关阅读:
    vue store状态存储管理
    Git分支管理
    oracle事务不能回滚的原因
    vue教程(四)--其他实用用法补充
    vue教程(三)-slotkeep-alive的使用
    vue教程(二)--过滤器和监视改动功能
    vue教程(一)-html使用vue
    Linux后台命令导入MySQL语句
    CentOS6下的ElasticSearch运行步骤
    浅谈JAVA代码优化
  • 原文地址:https://www.cnblogs.com/yaodengfeng/p/7800369.html
Copyright © 2011-2022 走看看