Singleton-Muster nur eine Instanz in der Multi-Threading Erstellt

während der Verwendung des Singleton-Pattern, nur eine Instanz ist in Multi-Threading erstellt?

Mit threadsafe Singleton-Klasse wird gewährleistet, dass nur eine Instanz erstellt wird.

öffentlichen versiegelte Klasse Singleton
{
private static Singleton Singleton = null;
private static readonly Objekt singletonLock = new Object();

private Singleton() {}
public static Singleton GetInstance()
{
Sperre (singletonLock)
{
wenn (Singleton == null)
{
Singleton = new Singleton();
}
Rückkehr Singleton ;
}
}
}

Problem wird nur erhöhen, wenn die Errichtung der ersten Instanz.

Mit Schloss() wird uns der Thread-sicher, um die Ausführung von zwei Threads gleichzeitig an einer Vermeidung von Instanz zu erstellen.

Wieder sind wir die Überprüfung der (singletonobject == null) so wird es garantiert, dass nur einmal Instanz erstellt werden.

Doppel-Check-Option wird vollen Beweis für unsere Klasse.

Lassen Sie eine Antwort

Sie können Diese HTML-Tags

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