طراحی الگوهای تکتون که امن هستند در برنامه های چند رشته ای بسیار مهم است تا اطمینان حاصل شود که تنها یک نمونه از یک کلاس وجود دارد، حتی زمانی که چندین رشته تلاش می کنند تا یک نمونه را به طور همزمان ایجاد کنند، این مقاله بهترین شیوه ها و تکنیک های رایج را برای اجرای الگوهای تک پروتون های زنجیره ای بررسی می کند.

درک الگو تکتون

الگوی تکتون، سرعت یک کلاس را به یک شی محدود می کند، اغلب برای مدیریت منابع مشترک مانند اتصالات پایگاه داده یا تنظیمات پیکربندی استفاده می شود.در محیط های چند منظوره، پیاده سازی تکتون می تواند منجر به چندین مورد شود، شکست هدف الگو.

چالش در محیط های چند منظوره

هنگامی که چندین رشته سعی می کنند یک نمونه را به طور همزمان ایجاد کنند، شرایط مسابقه می تواند بدون هماهنگ سازی مناسب رخ دهد، چندین موضوع ممکن است بررسی نمونه را انجام دهند و چندین شی ایجاد کنند. امنیت موضوعات شامل استراتژی هایی است که مانع از این شرایط مسابقه می شوند.

قفل دو طرفه

این تکنیک باعث کاهش سرعت هماهنگ سازی با چک کردن اینکه آیا یک نمونه قبل از خرید قفل وجود دارد، می شود دو چک را در خود جای دهید: یکی خارج از بلوک همگام شده و یک مورد در داخل پیاده سازی مناسب نیازمند متغیرهای فرار برای جلوگیری از سفارش مجدد دستورالعمل است.

مثال (Java):

[[ویرایش] [۱] [۱] [۱] [۱] [۱] [۲] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۱] [۱] [۱] [۲] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۳] [۱] [۱] [۱] [۱] [۲] [۱] [۱] [۱] [۲] [۲] [۱] [۲] [۲] [۲] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۳] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۱]

[[ویرایش] [۱] [۲] [۱] [۲] [۲] [۲]] [[۱۰]] [۱] [۱] [۱] [۲]] [۱] [۱] [۲] [۱] [۲] [۱] [۱] [۱] [۱] [۲] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۳] [۱] [۱] [۲] [۲] [۱] [۱] [۱] [۱] [۲] [۱] [۲] [۲] [۲] [۲] [۲] [۱] [۱] [۱] [۱] [۲] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۲] [۲] [۲] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۲] [۲] [۲] [۲] [۲] [۲] [۲] [۱] [۱

(اگر [در برابر باطل] اختلاف نظر داشته باشد، [[۱]

[[ویرایش] [۱] [۱۰] [[۱۰]] [[۱۰]] [[۱۰]]] [[۳]]] [[[۱۰]]] [[۳]] [[۳]]] [[[۱۰]]] [[[[۳]]] [[[۳]]] [۱] [۱] [۳] [۱] [۲] [۵] [۳] [۳] [۶] [۳] [۳] [۳] [۵] [۳] [۳] [۶] [۳] [۳] [۲] [۳] [۳] [۲] [۳] [۳] [۱] [۱] [۳] [۳] [۳] [۳] [۶] [۶] [۶] [۳] [۳] [۳] [۳] [۶] [۳] [۳] [۶] [۶] [۳] [۳] [۳] [۳] [۳] [۱] [۳] [۱] [۳] [۶] [۳] [۶] [۶] [۳] [۳] [۳] [۶] [۶] [۶] [

(اگر [در برابر باطل] اختلاف نظر داشته باشد، [[۱]

[[ویرایش] [۱] [۱] [۱]

[[ویرایش]

[[ویرایش]

[[ویرایش]

[در این باره] [[[ویرایش]

[[ویرایش]

اولین بار در-Demand دارند Idiom

این رویکرد از مکانیزم های بارگذاری کلاس برای اطمینان از ایمنی موضوعات بدون هماهنگ سازی صریح استفاده می کند. نمونه تکتون در یک کلاس استاتیک لانه دار نگهداری می شود که تنها در صورت نیاز بارگذاری می شود.

مثال (Java):

[[ویرایش] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۱] [۱] [۱] [۲] [۳] [۱] [۱] [۱] [۳] [۱] [۱] [۱] [۳] [۱] [۱] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۳] [۱] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۳] [۳] [۳] [۳] [۱] [۳] [۳] [۱] [۱] [۳] [۳]

تکتون های خصوصی استاتیک (InTANCE) = تکتون جدید (

[[ویرایش]

[[ویرایش] [۱] [۲] [۱] [۲] [۲] [۲]] [[۱۰]] [۱] [۱] [۱] [۲]] [۱] [۱] [۲] [۱] [۲] [۱] [۱] [۱] [۱] [۲] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۳] [۱] [۱] [۲] [۲] [۱] [۱] [۱] [۱] [۲] [۱] [۲] [۲] [۲] [۲] [۲] [۱] [۱] [۱] [۱] [۲] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۲] [۲] [۲] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۲] [۲] [۲] [۲] [۲] [۲] [۲] [۱] [۱

[در این باره] [به سوی] [و [به سوی] [به سوی] [و [به] [و [به] [و] [به [و]] [به [و]] [به [و]] [به [و]]] [و [به [و]] [و [به [و]] [به [و [به [و] [و [به [و] [و [به [و [و [به [و]] [و [به [و [و [به [به [به [به [به [به [به [و] [و]]] [به [به [و [و [به [و]]] [به [به [به [و [به [به [به [به [به [به [و [و] [و]] [و] [و] [و] [و] [و] [به [و [به [به [به [به [به [به [به [به [به [به [به [به [به [به [به [به [و] [و] [به [به [به [به [به [به [به [به [به [به [به

[[ویرایش]

بهترین روش ها برای امنیت Thread Safety

  • از عبارت اولیه ی دارندگان در-Demand برای سادگی و کارایی استفاده کنید.
  • اطمینان حاصل کنید که نمونه تکتون در صورت استفاده از قفل دو چکه اعلام شده است.
  • از هماهنگ سازی غیر ضروری برای بهبود عملکرد اجتناب کنید.
  • تست تکتون پیاده سازی به طور کامل تحت شرایط چند رشته ای.

نتیجه گیری

پیاده سازی یک الگوی تکتونی زنجیره ای نیاز به توجه دقیق از تکنیک های هماهنگ سازی دارد. اصطلاح اولیه سازی-on-Demand ارائه می دهد یک راه حل تمیز و کارآمد، در حالی که قفل دو چک شده انعطاف پذیری با استفاده مناسب از فرار را فراهم می کند.