C# 三种单例模式创建

第一次种写法!,双检锁写法!

   public class SqlServerProxy:IDbContext
    {
        public static SqlServerProxy _SqlServerProxy=null;
        public static readonly object SqlServerProxy_Loke = new object();
        public static SqlServerProxy CreateSqlServersProxy() 
        {
            if (_SqlServerProxy==null)
            {
                lock (SqlServerProxy_Loke)
                {
                    if (_SqlServerProxy == null)
                    {
                        _SqlServerProxy = new SqlServerProxy();
                    }
                }
            }
            
            return _SqlServerProxy;
        }
        }

 

第二种写法是静态构造函数的写法,会在项目运行起来之后,第一次调用这个方法之前!有CLR调用!有且只调用一次!

class Stu
{
public static Stu stu=null;
   static Stu()
{
    stu=new Stu();
};
}

 

 

第三种!最简单,这种写法呢!不用管是否是单线程还是多线程


class
Stu { public static Stu stu=new Stu(); }

 

posted @ 2021-11-16 14:47  仲夏不凉爽  阅读(53)  评论(0编辑  收藏  举报