Singleton Pattern bare én forekomst er laget i Multi Threading

mens du bruker Singleton mønsteret, bare ett tilfelle er skapt i multi threading?

Bruke THREADSAFE Singleton klassen vil garantere at bare ett tilfelle er skapt.

public forseglet klassen Singleton
{
private static Singleton Singleton = null;
private static readonly objekt singletonLock = nytt objekt();

privat Singleton() {}
public static Singleton GetInstance()
{
låse (singletonLock)
{
hvis (Singleton == null)
{
Singleton = ny Singleton();
}
tilbake Singleton ;
}
}
}

Problemet vil øke bare når etableringen av første instans.

Bruke lås() vil gi oss den tråden trygt å unngå henrettelsen av to tråder på en samtidig å skape f.eks.

Igjen er vi verifisere (singletonobject == null) så det vil garantere at kun én gang forekomsten blir opprettet.

dobbel sjekk alternativet vil være full bevis for klassen vår.

Legg igjen en kommentar

Du kan bruke disse HTML-kodene

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