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