سؤال

أحب تشغيل القفل الخالي من ConviceurrentDictionary واستخدامه فيكئن: giveacodicetagpre.

هاتين الكائنتين بحاجة إلى البقاء في المزامنة.هي الطريقة الوحيدة للقيام بذلك هي استخدام قفل، وبالتالي تجنب جميع فوائد القاموس المتزامن؟

هل كانت مفيدة؟

المحلول

أود إنشاء فئة مخصصة مع 2 قواميس واستخدام قفل فقط على الطرق المعرضة لتغيير القاموس (إضافة وحذف).

لا تفقد فوائد القاموس المتزامن لأن هذه الطريقة تتطلب رمز أقل بكثير مما يجب عليك القيام به باستخدام القاموس العادي.

نصائح أخرى

concurrentdictionary هو فقط "آمنة الخيط" على العمليات على مثيل معين.على سبيل المثالبينما يتم استدعاء دعوة ConcurrentDectionary.try ()، لا يمكن تعديل المواضيع الأخرى المجموعة ...

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

ربما يكون لديك ثابت تفاصيل أنه أثناء نقل قيمة واحدة من قاموس واحد، لا يمكن إزالة أي قيم في القاموس الأصلي (أو على الأقل تلك القيمة، ولكن هذاأكثر صعوبة قليلا لضمان مع conncurrentdictionary.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top