Erlang 21 - 2. Communication in Erlang

एर्लांग में 2 संचार




erlang

एर्लांग में 2 संचार

Erlang में संचार को अतुल्यकालिक सिग्नलिंग का उपयोग करके वैचारिक रूप से किया जाता है। सभी विभिन्न निष्पादन इकाइयाँ, जैसे कि प्रक्रियाएँ और पोर्ट्स, अतुल्यकालिक संकेतों के माध्यम से संचार करते हैं। सबसे अधिक इस्तेमाल किया जाने वाला संकेत एक संदेश है। अन्य सामान्य सिग्नल एक्ज़िट, लिंक, अनलिंक, मॉनिटर और डेमनीटर सिग्नल हैं।

2.1 सिग्नल की पासिंग

किसी सिग्नल के बीच से गुजरने वाले समय को भेजा जाता है और गंतव्य पर सिग्नल का आगमन अनिर्दिष्ट होता है लेकिन सकारात्मक होता है। यदि रिसीवर समाप्त हो गया है, तो सिग्नल नहीं आता है, लेकिन यह एक और सिग्नल को ट्रिगर कर सकता है। उदाहरण के लिए, एक गैर-मौजूदा प्रक्रिया के लिए भेजा गया एक लिंक सिग्नल एक निकास सिग्नल को ट्रिगर करता है, जो कि वापस भेजा जाता है जहां से लिंक सिग्नल उत्पन्न होता है। वितरण पर संचार करते समय, वितरण चैनल नीचे जाने पर संकेत खो सकते हैं।

दिए गए एकमात्र सिग्नल ऑर्डर की गारंटी निम्नलिखित है: यदि कोई इकाई एक ही गंतव्य इकाई को कई सिग्नल भेजता है, तो ऑर्डर संरक्षित है; यदि A , S1 को B को संकेत भेजता है, और बाद में संकेत S2 को B को भेजता है, तो S1 को S2 बाद नहीं आने की गारंटी है।

२.२ समकालिक संचार

कुछ संचार समकालिक है। यदि टुकड़ों में टूट जाता है, तो एक तुल्यकालिक संचार ऑपरेशन में दो अतुल्यकालिक सिग्नल होते हैं; एक अनुरोध संकेत और एक उत्तर संकेत। इस तरह के एक तुल्यकालिक संचार का एक उदाहरण erlang:process_info/2 को एक कॉल है erlang:process_info/2 जब पहला तर्क self() नहीं है self() । कॉल करने वाला एक अतुल्यकालिक संकेत भेजकर सूचना मांगता है, और फिर मांगी गई जानकारी वाले उत्तर संकेत की प्रतीक्षा करता है। जब अनुरोध सिग्नल अपने गंतव्य तक पहुंचता है, तो गंतव्य प्रक्रिया अनुरोधित जानकारी के साथ जवाब देती है।

2.3 कार्यान्वयन

वर्चुअल मशीन में विभिन्न अतुल्यकालिक संकेतों के कार्यान्वयन समय के साथ भिन्न हो सकते हैं, लेकिन व्यवहार हमेशा ऊपर वर्णित संस्थाओं के बीच अतुल्यकालिक संकेतों की इस अवधारणा का सम्मान करता है।

कार्यान्वयन का निरीक्षण करके, आप देख सकते हैं कि कुछ विशिष्ट संकेत ऊपर वर्णित की तुलना में एक सख्त गारंटी देता है। यह महत्वपूर्ण है कि कार्यान्वयन के बारे में इस तरह के ज्ञान का उपयोग एर्लांग कोड द्वारा नहीं किया जाता है, क्योंकि कार्यान्वयन पूर्व सूचना के बिना किसी भी समय बदल सकता है।

प्रमुख कार्यान्वयन परिवर्तनों के उदाहरण:

  • ईआरटीएस 5.5.2 से बाहर निकलने के संकेत प्रक्रियाओं तक सही मायने में अतुल्यकालिक रूप से वितरित किए जाते हैं।
  • ERTS से 5.10 प्रक्रियाओं से बंदरगाहों तक सभी संकेत वास्तव में अतुल्यकालिक रूप से वितरित किए जाते हैं।