线程安全的单例模式

简单举例,线程安全的单例

 public static class SingerDemo
    {
        public static readonly Order CurederOrder;
        //  readonly:只能在构造函数内部可以修改当前字段。其他地方只能只读。所以配合构造函数就能够保证实例是线程安全而且是单例的。

        //CLR帮助我们保证了静态类的构造函数只 被执行一次。【保证线程安全单例模式。】
        static SingerDemo()
        {
            CurederOrder =new Order();   
        }
    }

普通的单例,加上lock也可成线程安全的单例

  public class Prodcut
    {
         private  Prodcut()
         {
            
         }

        private static Prodcut _P;

        public static Prodcut GetProduct()
        {
            lock ("sss")
            {
                if (_P == null)
                {
                    _P = new Prodcut();
                }
               
            }
            return _P;
        }
    }

原文地址:https://www.cnblogs.com/sixiangqimeng/p/3561329.html