při použití vzoru singleton, pouze jedna instance je vytvořena v multi threading?
Použití threadsafe singleton třídy zaručí, že pouze jedna instance je vytvořena.
veřejných uzavřených třída Singleton
{
private static Singleton singleton = null;
private static readonly objekt singletonLock = nový objekt();
soukromé Singleton() {}
public static Singleton GetInstance()
{
zámek (singletonLock)
{
pokud (singleton == null)
{
singleton = new Singleton();
}
return singleton ;
}
}
}
Issue will raise only when the creation of first instance.
Using lock() will provide us the thread safe to avoid execution of two threads at a same time to create instance.
Again we are verifying the (singletonobject == null) so it will guarantee that only once instance will be created.
double check option will be full proof for our class.
Dovolená jeden Namítat