एटम केवल वीएम द्वारा बनाए रखा एक आईडी है। आईडी का प्रतिनिधित्व अंतर्निहित वास्तुकला का एक मशीन पूर्णांक है, उदा। 32-बिट सिस्टम पर 4 बाइट्स और 64-बिट सिस्टम पर 8 बाइट्स। LYSE book में उपयोग देखें।
उसी चलने वाले वीएम में एक ही परमाणु हमेशा एक ही आईडी (पूर्णांक) पर मैप किया जाता है। उदाहरण के लिए निम्नलिखित टपल:,
{1, 2, 3, 1}
सभी परमाणुओं एक बड़ी मेज है जो कभी नहीं कचरा-एकत्र है में जमा हो जाती यानी एक बार:
{apple, pear, cherry, apple}
वास्तविक Erlang स्मृति में निम्नलिखित टपल के रूप में जमा किया जा सकता है चलने वाले वीएम में एक परमाणु बनाया जाता है जब तक कि वीएम बंद नहीं हो जाता तब तक यह तालिका में रहता है।
1:
अपने प्रश्नों का उत्तर देना। नहीं। परमाणु की आईडी वीएम रनों के बीच बदल जाएगी। आप वीएम शट डाउन करें और पुन: लोड करते प्रणाली ऊपर टपल निम्न आईडी के साथ खत्म हो सकता है:
{50, 51, 52, 50}
से पहले ही लोड किया गया था क्या अन्य परमाणुओं के सृजन किया गया है पर निर्भर करता है। परमाणु केवल वीएम के रूप में रहते हैं।
2। नहीं प्रति वीएम परमाणुओं की केवल एक तालिका है। मॉड्यूल लोड होने पर मॉड्यूल में सभी शाब्दिक परमाणुओं को उनके आईडी में मैप किया जाता है। यदि उस तालिका में कोई विशेष परमाणु अभी तक मौजूद नहीं है तो यह तब तक डाला जाता है जब तक वीएम पुनरारंभ नहीं होता है।
3। नहीं परमाणुओं के साथ सारणी प्रति वीएम हैं और वे अलग हैं। ऐसी स्थिति पर विचार करें जब एक ही समय में दो वीएम शुरू हो जाएं लेकिन वे एक-दूसरे के बारे में नहीं जानते।प्रत्येक वीएम में बनाए गए परमाणुओं में तालिका में अलग-अलग आईडी हो सकती हैं। यदि किसी बिंदु पर किसी नोड को अन्य नोड के बारे में पता चल जाता है तो अलग-अलग परमाणुओं के अलग-अलग आईडी होंगे। उन्हें आसानी से सिंक्रनाइज़ या विलय नहीं किया जा सकता है। लेकिन परमाणु अन्य नोड को टेक्स्ट प्रस्तुतियों के रूप में नहीं भेजते हैं। वे कैश के रूप में "संपीड़ित" होते हैं और सभी को शीर्षलेख में एक साथ भेजते हैं। संचार प्रोटोकॉल के विवरण में distribution header देखें। असल में, हेडर में बाद में शब्दों में उनके आईडी और पाठपरक प्रतिनिधित्व के साथ उपयोग किए जाने वाले परमाणु होते हैं। फिर प्रत्येक शब्द प्रत्येक समय एक ही पाठ को पारित करने के बजाय शीर्षलेख में निर्दिष्ट आईडी द्वारा परमाणु का संदर्भ देता है।
परमाणुओं का क्या होता है जो पहले से ही एक वीएम में मौजूद थे और वितरण मूल्यों में भी अलग-अलग मूल्यों के साथ निहित हैं? – BitTickler
वितरण शीर्षलेख में आईडी केवल उस विशेष संचार के उद्देश्य के लिए बनाई गई हैं। यह एक संचार प्रोटोकॉल है इसलिए ये आईडी वीएम में परमाणु तालिका में संग्रहीत आईडी से स्वतंत्र हैं। कहें कि 'सेब' में आईडी 5 है जब यह परमाणु तालिका में संग्रहीत होता है, फिर कहें कि इसमें आईडी 14 है जब यह संचार में भेजे जाने पर वितरण शीर्षलेख में संग्रहीत होता है। फिर, जब परमाणु दूसरे नोड पर आता है, तो दूसरा वीएम अपने परमाणु तालिका में उस परमाणु के पाठ का प्रतिनिधित्व करता है और इसे अपने परमाणु तालिका में आईडी के साथ संग्रहीत करता है, 43. – Amiramix
@ बिट टिक्लर रे। पारगमन में परमाणु: वे [एरलांग बाहरी टर्म प्रारूप] (http://erlang.org/doc/apps/erts/erl_ext_dist.html) के अनुसार द्विआधारी तारों के रूप में क्रमबद्ध होते हैं। यह 'term_to_binary/1' और' binary_to_term/1,2' क्या है। उदाहरण के लिए, स्ट्रिंग "foo" सूची '102,111,111]' है। बाहरी शब्द "foo" के रूप में निम्नलिखित सत्य है: '<< 131,107,0,3,102,111,111 >> = term_to_binary (" foo ")। 'अब तुलना करें:' << 131,119,3,102,111,111 >> = term_to_binary (foo)। 'लेकिन वह * बाहरी * है। आंतरिक रूप से वे बिल्कुल ठीक हैं जैसे अमीरमिक्स कहते हैं: संदर्भ लेबल पूर्णांक स्थिरांक (एक * विशाल * प्रदर्शन वृद्धि) के लिए। – zxq9