Mega Code Archive

 
Categories / C# / Development Class
 

Access Reordering and Volatile

using System; public class Singleton {     static object sync = new object();          static volatile Singleton singleton = null;          private Singleton()     {     }          public static Singleton GetSingleton()         {         if (singleton == null)         {             lock(sync)             {                 if (singleton == null)                 singleton = new Singleton();             }         }                  return(singleton);     } }