Singleton vzor len jedna inštancia je vytvorená v Multi Threading

pri použití vzoru Singleton, len jedna inštancia je vytvorená vo viac závitov?

Použitie threadsafe Singleton triedy zaručí, že iba jedna inštancia je vytvorená.

public class Singleton uzavreté
{
private static Singleton Singleton = null;
private static readonly objekt singletonLock = nový objekt();

súkromné ​​Singleton() {}
public static Singleton GetInstance()
{
zamknúť (singletonLock)
{
ak (Singleton == null)
{
Singleton = new Singleton();
}
návrat Singleton ;
}
}
}

Problém bude zvyšovať iba pri založení prvého stupňa.

Použitie zámku() poskytne nám vlákno bezpečné, aby sa zabránilo popravu dvoch vlákien v súčasne vytvoriť inštanciu.

Opäť sme sa overenie (singletonobject == null) tak to bude zaručené, že len raz inštancie sa vytvorí.

dvojaký kontrola voľba bude plný dôkaz našej triedy.

Required

Môžete použiť tieto HTML tagy

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>