Access Reordering and Volatile:Use of 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);
}
}
Related examples in the same category