2011-08-09 16 views
6

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

उत्तर

4

तकनीकी रूप से साझा संदेश अतिव्यापी आवेदन की स्थिति का प्रतिनिधित्व करते हैं, लेकिन केवल तभी उत्पादक और उपभोक्ता स्वयं स्टेटलेस हैं (अन्यथा वे संदेश-साझाकरण माध्यम/ए के राज्य (ओं) का प्रतिनिधित्व करते हैं। निर्माता/उपभोक्ता मॉडल अभिनेता मॉडल का इतना उदाहरण नहीं है क्योंकि प्रत्येक व्यक्ति निर्माता और उपभोक्ता है। उत्पादक (जो उपभोक्ता भी हो सकते हैं, या तो साझा साझा कतारों या बाहरी स्रोतों से) वे जो करते हैं वह करते हैं और कुछ संदेश निकालते हैं जो कतारबद्ध हो जाते हैं। कतार स्वयं को एक अभिनेता माना जा सकता है, हालांकि एक निष्क्रिय व्यक्ति, जिसमें यह संदेश प्राप्त करता है/धारण करता है, और उन्हें वितरित कर सकता है (या बस उन्हें लेने के लिए प्रतीक्षा करें)। उपभोक्ता अभिनेता हैं कि वे साझा कतार से संदेश लेते/प्राप्त करते हैं, और उन संदेशों के आधार पर काम करते हैं।

तो मूल रूप से मेरा जवाब यह है कि निर्माता/उपभोक्ता मॉडल अभिनेता मॉडल का उदाहरण नहीं है, बल्कि साझा वातावरण में काम करने वाले अभिनेताओं के संग्रह का एक उदाहरण है।

+0

क्या अभिनेता प्रतिमान में स्वाभाविक रूप से कुछ भी है जो कहता है कि आपके पास एकाधिक अभिनेता नहीं हो सकते हैं? – Gandalf

+0

जिस तरह से मैं इसे देखता हूं, अभिनेता प्रतिमान एक इकाई का अधिक प्रतिनिधि होता है, जबकि निर्माता/उपभोक्ता प्रतिमान एक प्रणाली का अधिक प्रतिनिधि होता है। – yoozer8

+0

हालांकि, मुझे लगता है कि आप एक निर्माता/उपभोक्ता प्रणाली को एक अभिनेता पर विचार कर सकते हैं यदि यह अन्य संस्थाओं के साथ बड़े वातावरण में मौजूद है और बड़े सिस्टम में अन्य संस्थाओं के साथ बातचीत कर सकता है। – yoozer8

संबंधित मुद्दे