http://msdn.microsoft.com/en-us/library/ms998558.aspx

using System;

public sealed class Singleton
{
   
private static volatile Singleton instance;
   
private static object syncRoot = new Object();

   
private Singleton() {}

   
public static Singleton Instance
   {
      
get 
      {
         
if (instance == null
         {
            
lock (syncRoot) 
            {
               
if (instance == null
                  instance 
= new Singleton();
            }
         }

         
return instance;
      }
   }
}

相关文章: