Csharp/C Sharp/Development Class/Volatile — различия между версиями

Материал из .Net Framework эксперт
Перейти к: навигация, поиск
м (1 версия)
 
м (1 версия)
 
(нет различий)

Текущая версия на 14:43, 26 мая 2010

Access Reordering and Volatile:Use of volatile

<source lang="csharp"> 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);
   }

}

      </source>