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