zoukankan      html  css  js  c++  java
  • 单体模式的简单实现

    单体模式的思路:(单体模式在多线程中容易出现被实例化多次的问题,因此要进行双重为空判断来缓解次问题)

    1.把构造函数的作用域改为私有的,那样外面就不能new

    2.通过一个类的静态方法得到一个静态实例

    例如:

    public class A

    {

      static A a = null;

      static A ()

      {

        Console.WriteLine("创建对象");

      }

      public static A GetA()

      {

        if(a != null)

        {

          a = new A();

        }

        return a;

      }

      //定义一个方便测试的方法

      int b =0;

      public void Show()

      {

        b++;

        Console.WriteLine("单个对象被调用了{0}次",b);

      }

    }

    public class Demo

    {

      static void Main(string[] args)

      {

        Console.WriteLine("开始执行");

        //通过循环来依次调用A的方法

        for(int i =0 ; i < 5; i++)

        {

          A.GetA().Show();

        }

      }

    }

  • 相关阅读:
    Sentry异常捕获平台
    docker部署RabbitMQ(单机)
    Elasticsearch参数调优
    docker 部署Elasticsearch-权限认证(单节点)
    ElementUI 实现el-table 列宽自适应
    vue 弹幕插件
    linux 命令笔记
    swoole安装笔记
    Swoole学习笔记
    VM安装centos8实战
  • 原文地址:https://www.cnblogs.com/jasonjiang/p/1764522.html
Copyright © 2011-2022 走看看