هل مؤشر ترابط Vector آمن في Java؟
هل مؤشر ترابط Vector آمن في Java؟

فيديو: هل مؤشر ترابط Vector آمن في Java؟

فيديو: هل مؤشر ترابط Vector آمن في Java؟
فيديو: Java Collections (part 2). MJC Light Talk #36 2024, شهر نوفمبر
Anonim

المتجه جميع الطرق متزامنة. لذا فإن استخدامه من عدة جهات الخيوط يكون " آمنة ". تحتاج فقط إلى المزامنة إذا كنت بحاجة إلى عملية قراءة - تقييم - كتابة لتكون ذريًا. لا تؤدي مزامنة الأساليب الخاصة بك بالضرورة إلى جعل الكود الخاص بك مسلك - آمنة لتلك السيناريوهات.

إبقاء هذا في الاعتبار ، هل قائمة سلاسل الرسائل آمنة في جافا؟

في الواقع ، جميع فئات المجموعة (باستثناء Vector و Hashtable) في جافا . حزمة الاستفادة ليست كذلك مسلك - آمنة . لهذا السبب الجديد المجموعات ( قائمة ، Set ، Map ، إلخ) لا توفر تحكمًا في التزامن على الإطلاق لتوفير أقصى أداء في التطبيقات ذات الخيوط الواحدة.

وبالمثل ، أي مجموعة خيط آمن في جافا؟ أ مسلك - آمنة الفئة هي فئة تضمن الحالة الداخلية للفئة وكذلك القيم المعادة من العمليات ، وهي صحيحة أثناء استدعائها بشكل متزامن من عدة الخيوط . ال مجموعة الفئات التي هي مسلك - بأمان في جافا هي Stack و Vector و Properties و Hashtable وما إلى ذلك.

مع وضع ذلك في الاعتبار ، هل مؤشر ترابط Java HashSet آمن؟

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

ما هي قائمة ArrayList أو ناقل الخيط الآمن؟

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

موصى به: