示例#1
0
 static void Main(string[] args)
 {
     for (int i = 0; i < 5; i++)
     {
         Task.Run(() =>
         {
             var singleton1 = SingletonFirst.CreateInstance();
             var singleton2 = SingletonSecond.CreateInstance();
         });
     }
     Console.ReadLine();
 }
示例#2
0
 /// <summary>
 /// 静态构造函数: 由CLR保证, 程序第一次使用这个类型前被调用,且只调用一次
 /// </summary>
 static SingletonSecond()
 {
     _singleton = new SingletonSecond();
 }
 static SingletonSecond()//CLR运行时候  第一次使用这个类之前,一定会而且只会执行一次
 {
     Thread.Sleep(1000);
     Console.WriteLine("getInstance(): 第一次调用getInstance();线程编号{0}", Thread.CurrentThread.ManagedThreadId);
     instance = new SingletonSecond();
 }