singleton model istifadə edərkən, yalnız bir misal çox Threading yaradılmışdır?
Threadsafe tek sinif istifadə yalnız bir misal yaradılmışdır ki, təmin edəcək.
ictimai möhürlənmiş sinif Singleton
{
Şəxsi statik Singleton tek = null;
Şəxsi statik readonly obyekt singletonLock = yeni obyekt();
Şəxsi Singleton() {}
ictimai statik Singleton GetInstance()
{
bağlamaq (singletonLock)
{
əgər (tek == null)
{
tek = new Singleton();
}
geri tek ;
}
}
}
Sayı birinci instansiya yalnız yaradılması qaldıracaq.
Kilidi istifadə() Bizə instansiya yaratmaq üçün eyni zamanda iki mövzuları icra qarşısını almaq üçün təhlükəsiz mövzu təmin edəcək.
Yenə biz təsdiq edir (singletonobject == null) belə ki, yalnız bir dəfə instansiya yaradılacaq ki, təmin edəcək.
ikiqat çek seçimi sinfi üçün tam sübut olacaq.
Şəkil Yükləmə