أثناء استخدام نمط المفرد, فقط يتم إنشاء حالة واحدة في متعدد خيوط?
وسوف تستخدم الطبقة threadsafe المفرد ضمان مثيل واحد فقط يتم إنشاؤه.
الطبقة مختومة العامة سينغلتون
{
ساكنة الخاص سينغلتون المفرد = فارغة;
انفراد ثابت singletonLock الكائن للقراءة فقط = كائن جديد();
سينغلتون الخاص() {}
ساكنة العام سينغلتون 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) so it will guarantee that only once instance will be created.
double check option will be full proof for our class.
ترك الرد