Wzorzec Singleton tylko jedna instancja jest tworzona w Multi Threading

podczas korzystania wzorzec Singleton, tylko jedna instancja jest tworzona w wielu wątków?

Korzystanie threadsafe singleton klasy gwarantuje, że tylko jedna instancja jest tworzona.

publicznych klasa zapieczętowana Singleton
{
private static Singleton Singleton = null;
private static readonly obiekt singletonLock = new Object();

prywatnych Singleton() {}
public static Singleton GetInstance()
{
zablokować (singletonLock)
{
jeśli (Singleton == null)
{
Singleton = new Singleton();
}
powrót singleton ;
}
}
}

Kwestia ta będzie podnieść tylko wtedy, gdy powstanie pierwszej instancji.

Korzystanie z blokady() zapewni nam bezpieczeństwo wątków w celu uniknięcia egzekucji dwóch wątków w tym samym czasie tworzenia instancji.

Znowu jesteśmy weryfikacji (singletonobject == null) więc będzie gwarantować, że tylko raz instancja zostanie utworzona.

podwójna opcja wyboru będzie pełen dowodem na naszej klasie.

Leave a Reply

Możesz użyć tych tagów HTML

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