سؤال

لدي CMS مخصص استخدم فيه Xelement ثابت مثل خريطة الموقع. عندما تحدث التحديثات على الخريطة، أقوم بمزامنة خيوط الكاتب، لكنني لا أفعل شيئا مع القراء، فقط السماح لهم بالاستيلاء على Xelement عندما يحتاجون إليها.

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

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

المحلول

استخدم System.Threading.ReaderWriterLock للسيطرة على الوصول إلى Xelement. بهذه الطريقة تقوم بمزامنة جميع القراء وأي كتاب دون حظر نشاط القراءة المتزامنة.

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