ما هو استخدام ThreadLocal؟
ما هو استخدام ThreadLocal؟

فيديو: ما هو استخدام ThreadLocal؟

فيديو: ما هو استخدام ThreadLocal؟
فيديو: 2013 Day2P13 LoB: Thread Local Storage (TLS) 2024, شهر نوفمبر
Anonim

جافا يتم استخدام ThreadLocal لإنشاء المتغيرات المحلية الخيطية. نحن نعلم أن جميع مؤشرات ترابط الكائن تشترك في متغيراتها ، وبالتالي فإن المتغير ليس مؤشر ترابط آمن. يمكننا استخدام المزامنة لسلامة الخيط ولكن إذا أردنا تجنب المزامنة ، فيمكننا استخدام متغيرات ThreadLocal.

هكذا فقط ، ما هي فئة ThreadLocal المستخدمة؟

جافا فئة ThreadLocal تقدم الخيط المحلي المتغيرات. يمكّنك من إنشاء متغيرات لا يمكن قراءتها وكتابتها إلا من خلال نفس الموضوع. إذا كان هناك خيطان ينفذان نفس الرمز وكان هذا الرمز يحتوي على مرجع إلى ملف الموضوع المحلي متغير ثم الخيطين لا يمكن رؤية المتغير المحلي لبعضهما البعض.

بجانب ما سبق ، لماذا ThreadLocal ثابت ونهائي؟ كما نرى ، فإن ثابتة حالة الموضوع المحلي يستخدم فقط كمفتاح بحث. لا يمكن تغيير قيمته لأنه تم التصريح عنه أخير . ال الموضوع المحلي المثيل آمن تمامًا لمؤشر الترابط لأنه حقًا للقراءة فقط ، لذا فإن المزامنة غير مطلوبة. الكائن الهدف هو الشيء الذي يحتمل ألا يكون آمنًا لمؤشر الترابط.

وبالمثل ، قد تسأل ، كيف يعمل ThreadLocal في جافا؟

ال Java ThreadLocal تمكنك class من إنشاء متغيرات لا يمكن قراءتها وكتابتها إلا من خلال نفس الموضوع. وبالتالي ، حتى إذا كان هناك خيطان ينفذان نفس الكود ، وكان للكود إشارة إلى نفس الكود الموضوع المحلي متغير ، لا يمكن للخيوط رؤية بعضها البعض الموضوع المحلي المتغيرات.

لماذا ThreadLocal ثابت؟

باختصار، الموضوع المحلي كائن يعمل مثل خريطة مفتاح القيمة. ثابتة أخير الموضوع المحلي المتغيرات هي موضوع آمن. ثابتة يجعل الموضوع المحلي متغير متاح عبر فئات متعددة للخيط المعني فقط. إنه نوع من decaration المتغير العالمي لكل منها موضوع محلي المتغيرات عبر فئات متعددة.

موصى به: