Singleton Pattern kun én forekomst er skabt i Multi Threading

mens du bruger singleton mønstret, kun én instans er oprettet i multi threading?

Brug threadsafe singleton klasse, vil sikre, at kun én instans er oprettet.

offentlige lukkede klasse Singleton
{
private static Singleton singleton = null;
private static skrivebeskyttet objekt singletonLock = nyt objekt();

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

Spørgsmålet vil hæve kun, når oprettelsen af ​​Første Instans.

Brug af lås() vil give os tråden sikkert at undgå udførelse af to tråde på samme tid at skabe eksempel.

Igen er vi verificere (singletonobject == null) så det vil garantere, at kun én gang eksempelvis vil blive oprettet.

dobbelt kontrol mulighed vil være fuld dokumentation for vores klasse.

Efterlad et svar

Du kan bruge disse HTML-tags

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