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