الگوی سینگلتون فقط یک نمونه است در چند نخ ایجاد شده

در حالی که با استفاده از الگوی سینگلتون, تنها یک نمونه است در چند نخ ایجاد?

با استفاده از threadsafe کلاس تک تضمین می کنند که تنها یک نمونه است.

کلاس سینگلتون ، مهر و موم های عمومی
{
خصوصی استاتیک سینگلتون تک = تهی;
خصوصی استاتیک نامه فقط خواندنی شیء singletonLock = شی جدید();

خصوصی سینگلتون() {}
عمومی استاتیک سینگلتون GetInstance()
{
قفل (singletonLock)
{
اگر (تک == تهی)
{
تک = جدید سینگلتون();
}
بازگشت تک ;
}
}
}

شماره خواهد شد تنها زمانی که ایجاد وهله اول بالا می برد.

با استفاده از قفل() به ما امن برای جلوگیری از اعدام دو موضوع توسط در عین حال برای ایجاد عنوان مثال ، موضوع را فراهم.

باز هم ما در حال بررسی (singletonobject == تهی) پس از آن تضمین می کنند که تنها به عنوان مثال یک بار ایجاد خواهد شد.

گزینه چک دو برابر خواهد شد، اثبات کامل برای کلاس ما.

پاسخی بنویسید

شما می توانید استفاده کنید از تگ های اچ

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>