Pattern singleton Waħda Biss Istanza hija Maħluq fl-Multi-kamini

waqt li jużaw il-mudell singleton, biss eżempju wieħed huwa maħluq multi kamini?

Bl-użu threadsafe klassi singleton se tiggarantixxi li jkun biss eżempju wieħed huwa maħluq.

pubbliku issiġillat klassi Singleton
{
privat statiku Singleton singleton = null;
privat statiku readonly oġġett singletonLock = oġġett ġdid();

Singleton privat() {}
pubbliku statiku Singleton GetInstance()
{
lock (singletonLock)
{
jekk (singleton == null)
{
singleton = ġdid Singleton();
}
ritorn singleton ;
}
}
}

Ħruġ se tgħolli biss meta l-ħolqien ta 'ewwel istanza.

Bl-użu lock() se tagħtina l-ħajt sikur biex jiġi evitat l-eżekuzzjoni ta 'żewġ ħjut fi żmien istess biex joħolqu eżempju.

Għal darb'oħra aħna tivverifika l- (singletonobject == null) għalhekk se tiggarantixxi li jkun biss eżempju darba se jinħolqu.

għażla verifika doppja se tkun prova sħiħa għall-klassi tagħna.

Leave a Reply

Tista 'tuża dawn it-tags HTML

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