تحلل هذه المقالة الاستخدام والاستخدام المتزامن في Java بالتفصيل. شاركه للجميع للرجوع إليه. التحليل المحدد هو كما يلي:
1. الحاوية المتزامنة تشمل جزأين: متجه وعلامة التجزئة
والآخر هو فئة التغليف المتزامنة ، والتي تم إنشاؤها بواسطة مجموعات. تقوم الحاوية المتزامنة بمقابلات جميع حالات الحاوية لتحقيق سلامة الخيط.
لديهم المشاكل التالية:
أ) للتشغيل ، مطلوب حماية إضافية القفل. على سبيل المثال ، التكرار ، الظروف المفقودة مثل الإضافة.
ب) سوف يطلق على tostring ، hashcode ، على قدم المساواة التكرار بشكل غير مباشر ، وتحتاج إلى الانتباه إلى التزامن.
2. حاوية متزامنة في Java5.0.
يمكن أن يحل ConcurrentHashMap محل تنفيذ الخريطة المتزامنة.
عندما تتم قراءتها بشكل أساسي ، يعد CopyOnWriteArrayList تطبيقًا متزامنًا للقائمة.
في الوقت نفسه ، قائمة الانتظار و blockingqueue: concurentLinkedqueue: Fifo Queue.
أولوية: قائمة انتظار أولوية غير المبرر.
زيادة الحظر واكتساب الحظر.
أ) ConcurenternhashMap: إنه ليس قفلًا عامًا ، ولكنه قفل منفصل. يمكن الوصول إلى أي عدد من مؤشرات ترابط القراءة بشكل متزامن ، ويمكن للقراء والكتاب أيضًا الوصول إلى الخريطة بشكل متزامن ، ويمكن للعدد المحدود من الكتابة أيضًا تعديل الخريطة بشكل متزامن. ومع ذلك ، يتم إضعاف الحجم واللغة isempty ، والتي تقدر.
ب) CopyOnWriteArrayList: يحتفظ Iterator مرجع صفيف قاعدة أسفل ، ولن يتم تعديل المرجع.
3. المزامنة
أ) العد التنازلي. معلمة المنشئ هي n ، بعد العد التنازلي ، n هي 0 ، وتستمر جميع مؤشرات الترابط في الانتظار.
ب) مستقبلات المستقبلية: حساب Runnable ، والتي يمكن تنفيذها عن طريق الاتصال ويمكن أن تحمل النتيجة. بما في ذلك: انتظر ، تشغيل وإكمال.
ج) Semaphore: عدد الأنشطة التي يمكن الوصول إليها في نفس الوقت
د) Cyclicbarrier: على غرار Atresia. القفل ينتظر الحادث ، والمستوى ينتظر المواضيع الأخرى. يتم انتظار المواضيع N ، R ، N عندما يتم تنفيذ مؤشرات الترابط N للوصول إلى المستوى ، R تنفيذها ، ويتم إعادة تعيين المستوى ، وتستمر مؤشرات الترابط N.
من المأمول أن يكون هذا المقال مفيدًا لتصميم برنامج Java للجميع.