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