, o naudojant pavienius modelį, tik vienas egzempliorius sukurtas daugiabučiuose sriegimo?
Naudojant threadsafe Singleton klasė bus garantuoti, kad tik vienas egzempliorius sukurtas.
visuomenės uždaromos klasė Singletonas
{
privataus statinio Singletonas pavieniu = null;
privataus statinio tik skaitymui, objektas singletonLock = naujas objektas();
privatus Singletonas() {}
public static Singletonas GetInstance()
{
užraktas (singletonLock)
{
jeigu (pavieniu == null)
{
pavieniu = naujas Singletonas();
}
grįžti Singleton ;
}
}
}
Klausimas bus pakelti tik tada, kai pirmosios instancijos kūrimą.
Naudojant užraktas() suteiks mums siūlai saugiai, kad būtų išvengta vykdyti dviem siūlais, tuo pačiu metu sukurti egzempliorių.
Vėl mes patikrinti (singletonobject == null) kad jis garantuos, kad bus sukurtas tik vieną kartą instancija.
dvigubas patikrinimas pasirinkimas bus pilnas įrodymas mūsų klasėje.
Leave a Reply