Singleton Pattern vain yksi esiintymä on luotu Multi Threading

käyttäessäsi singleton kuvio, vain yksi esiintymä luodaan moni ketjuttaminen?

Käyttämällä threadsafe Singleton luokka takaa, että vain yksi esiintymä luodaan.

julkinen suljettu luokan Singleton
{
private static Singleton Singleton = null;
private static readonly esine singletonLock = uusi esine();

yksityinen Singleton() {}
public static Singleton GetInstance()
{
lukita (singletonLock)
{
jos (Singleton == null)
{
Singleton = uusi Singleton();
}
palata Singleton ;
}
}
}

Ongelma nostaa vain, jos luodaan ensimmäisen oikeusasteen.

Käyttämällä lukko() antaa meille lanka turvallinen välttää täytäntöönpano kaksi lankaa oli samalla luoda esimerkiksi.

Jälleen olemme todentaa (singletonobject == null) siten, että sillä tavalla, että vain kerran esimerkiksi luodaan.

kaksinkertaisen tarkistamisen vaihtoehto on täydellinen osoitus meidän luokka.

Jätä vastaus

Voit käyttää näitä HTML-tagit

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