ხოლო გამოყენებით singleton ნიმუში, ერთადერთი შემთხვევა იქმნება მრავალ threading?
გამოყენებით threadsafe singleton კლასის გარანტიას, რომ მხოლოდ ერთი ინსტანციის შექმნა.
საჯარო დალუქული კლასის Singleton
{
შეტყობინების სტატიკური Singleton singleton = null;
შეტყობინების სტატიკური readonly ობიექტი singletonLock = ახალი ობიექტი();
შეტყობინების Singleton() {}
საჯარო სტატიკური Singleton GetInstance()
{
დაიბლოკოს (singletonLock)
{
თუ (singleton == null)
{
singleton = new Singleton();
}
return singleton ;
}
}
}
Issue will raise only when the creation of first instance.
Using lock() will provide us the thread safe to avoid execution of two threads at a same time to create instance.
Again we are verifying the (singletonobject == null) ასე რომ, ეს იქნება გარანტი იმისა, რომ მხოლოდ ერთხელ მაგალითად შეიქმნება.
ორმაგი შემოწმება ვარიანტი იქნება სრული მტკიცებულება ჩვენი კლასი.
დატოვე პასუხი