ऑब्जेक्ट संदर्भों पर थ्रेड-सुरक्षित तरीके से काम करने के लिए मैं अपने क्रॉस-प्लेटफ़ॉर्म लाइब्रेरी (जैसे JRE पर) को कैसे लागू कर सकता हूं, ताकि अन्य प्लेटफार्मों पर देशी फ्रंट-एंड ऑब्जेक्ट का निरीक्षण कर सकें और ऑब्जर्वेबल पैटर्न का लाभ उठा सकें?
थोड़ा बैकग्राउंड - अधिकांश फ्रंट-एंड फ्रेमवर्क में उपयोग किए जाने वाले डेटा बाइंडिंग की एक अवधारणा है। C # और Java में यह ऑब्जर्व करने योग्य विशेषता से संबंधित है जो एक वर्ग को परिवर्तन होने पर घटनाओं को फायर करने की क्षमता देता है, जिसमें कई नियंत्रण या "पर्यवेक्षक" सदस्यता ले सकते हैं। इस तरह पर्यवेक्षकों को अपडेट के लिए तुलना करते हुए, मतदान / संसाधन को पढ़ना नहीं है।
मैं एक विश्लेषण इंजन पर काम करना चाहता हूं जो समय के साथ डेटा की सूचियों में बदलाव करता है। यह अच्छा होगा कि विश्लेषण चलने के दौरान सामने वाले को इन सूचियों का पालन करने में सक्षम होना चाहिए। मुझे लगता है कि इसके लिए विश्लेषण इंजन में किसी ऑब्जेक्ट को पास करने में सक्षम होना चाहिए, जो लाइब्रेरी में लिखा है कि उम्मीद है कि क्रॉस-प्लेटफॉर्म है, और उस ऑब्जेक्ट पर थ्रेड-सुरक्षित रीड्स बनाने में सक्षम हो। या फिर, पुस्तकालय का अवलोकन करने योग्य अनुबंधों को पूरा करें।
जिस तरह से यह पुराने यूनिक्स-शैली सीएलआई इंजन में संभाला जाता है, वह स्टड / स्टडआउट / स्टडर का उपयोग करने के लिए है, और नियमित अंतराल पर इंजन पोस्ट अपडेट है। इसके लिए मानक ओवरहेड और टेक्स्ट पार्सिंग की आवश्यकता होती है, जिसे मैं संभव होने पर टाल दूंगा।