मेरे पास एक ऐसी स्थिति है जहां मैं रुबी में कई इवेंटमैचिन चलाने की इच्छा रखता हूं - क्या किसी के पास इसका अनुभव है? (यदि मैं नहीं करता तो मैं खुद को ऐसा करने के लिए एक टेस्ट केस लिख सकता हूं। ट्यूनेड रहें)।एकाधिक रूबी इवेंट माचिन एक प्रक्रिया में: संभव है?
चलो स्पष्ट हो जाएं: मैं अपने आप को दो धागे को तुरंत चालू करना चाहता हूं, और दोनों धागे में EventMachine.run
पर कॉल करना चाहता हूं, इसलिए मेरे पास वास्तव में दो रिएक्टर लूप हैं।
कारण यह है कि मैं एएमक्यूपी मणि के साथ एक एसिंक्रोनस संदेश बस लिख रहा हूं, जो EventMachine का उपयोग करता है। यह ठीक है, लेकिन मैं बनाना चाहते कि एक अलग, मॉड्यूलर घटक है कि दो आवेदन के भीतर इस्तेमाल किया जा सकता:
- एक अपनी ही अवरुद्ध जीयूआई लूप (कि EventMachine से टिक फोन करके नकली नहीं किया जा सकता है कि - यह वास्तव में ब्लॉक , और यह सी पुस्तकालय में करता है, इसलिए मैं इसे हैक नहीं कर सकता)। यह एक आसान है - बस अपने स्वयं के धागे में ईएम शुरू करें, और आने वाले संदेशों को थ्रू-सुरक्षित तरीके से लूप के बीच साझा करें;
- और एक अन्य अनुप्रयोग जो स्वयं एक रिएक्टर लूप में चल रहा है, जिसे मैं संभावित रूप से एएमक्यूपी कोड (जो थ्रेड सुरक्षा समस्याओं के लिए अच्छा है) के साथ साझा कर सकता हूं - हालांकि मुझे उपरोक्त ऐप के लिए उन्हें किसी भी तरह से संबोधित करना है)। यह वह है जिसने मुझे सोच लिया ... क्या मैं दो अलग इवेंटमैचिन चलाकर उपरोक्त ऐप के साथ संदेश बस कोड साझा कर सकता हूं?
किसी के पास विचार हैं?