नहीं। इसका मतलब सचमुच इसका मतलब है - असीमित। प्रोग्रामर के रूप में आपकी सफलता के लिए एसिंक्रोनस प्रोग्रामिंग और थ्रेड-आधारित प्रोग्रामिंग के बीच अंतर को समझना महत्वपूर्ण है।
एक पारंपरिक, गैर थ्रेडेड वातावरण में, जब एक समारोह, कार्यक्रम इंतज़ार करना होगा कि जब तक (जैसे एक नेटवर्क घटना, एक कुंजीपटल या माउस घटना, या यहां तक कि एक घड़ी घटना के रूप में) एक बाहरी घटना पर इंतज़ार करना होगा घटना होती है।
एक बहु थ्रेडेड वातावरण में, प्रोग्रामिंग के कई अलग-अलग धागे एक ही समय में चल रहे हैं। (सीपीयू की संख्या और ऑपरेटिंग सिस्टम के समर्थन के आधार पर, यह सचमुच सच हो सकता है, या यह परिष्कृत शेड्यूलिंग एल्गोरिदम द्वारा निर्मित भ्रम हो सकता है)।इस कारण से, बहु-थ्रेडेड वातावरण कठिन होते हैं और एक-दूसरे की स्मृति को लॉक करने वाले धागे के मुद्दों को एक दूसरे को ओवरराइज करने से रोकने के लिए शामिल होते हैं।
एक अशांत वातावरण में, एक ही प्रक्रिया धागा हर समय चलता है, लेकिन यह घटना-प्रेरित कारणों (और वह कुंजी है) के लिए, एक समारोह से दूसरे में स्विच कर सकता है। जब कोई घटना होती है, और जब वर्तमान में चल रही प्रक्रिया उस बिंदु को हिट करती है जिस पर उसे किसी अन्य ईवेंट के लिए प्रतीक्षा करनी है, तो जावास्क्रिप्ट कोर तब घटनाओं की सूची स्कैन करता है और अगले (एक औपचारिक रूप से) अनिश्चित (लेकिन संभवतया निर्धारिती) में अगले को वितरित करता है) घटना प्रबंधक के लिए आदेश।
इस कारण से, ईवेंट संचालित, एसिंक्रोनस प्रोग्रामिंग पारंपरिक, बहु-थ्रेडेड प्रोग्रामिंग, जैसे स्मृति विवाद समस्याओं के कई नुकसान से बचाता है। अभी भी दौड़ की स्थिति हो सकती है, क्योंकि जिस क्रम में आयोजनों को संभाला जाता है वह आपके ऊपर नहीं है, लेकिन वे दुर्लभ और प्रबंधित करने में आसान हैं। दूसरी तरफ, क्योंकि इवेंट हैंडलर घटनाओं को तब तक वितरित नहीं करता है जब तक कि वर्तमान में चल रहे फ़ंक्शन एक निष्क्रिय स्थान पर न पहुंच जाए, कुछ फ़ंक्शन बाकी प्रोग्रामिंग को भूखा कर सकते हैं। यह नोड.जेएस में होता है, उदाहरण के लिए, जब लोग मूर्खतापूर्वक सर्वर में भारी गणित करते हैं - यह सबसे अच्छा सर्वर में घुमाया जाता है जो नोड को जवाब देने के लिए "इंतजार" करता है। Node.js घटनाओं के लिए एक बहुत छोटा स्विचबोर्ड है, लेकिन कुछ भी जो 100 मिलीसेकंड से अधिक समय लेता है उसे क्लाइंट/सर्वर तरीके से संभाला जाना चाहिए।
ब्राउज़र वातावरण में, डीओएम घटनाओं को स्वचालित घटना बिंदु के रूप में माना जाता है (उन्हें होना चाहिए, डीओएम को संशोधित करना होगा, कई घटनाएं प्रदान करता है), लेकिन यहां तक कि बुरी तरह से लिखित जावास्क्रिप्ट कोर को भूखा कर सकता है, यही कारण है कि फ़ायरफ़ॉक्स और क्रोम में इन "इस स्क्रिप्ट ने जवाब देना बंद कर दिया है" हस्तक्षेप करने वाले हैंडलर हैं।
नहीं, asynchronicity (ism?) * समानता की आवश्यकता नहीं है *। कवर के तहत –
धागे हैं, लेकिन एक प्रोग्रामर/भाषा उपभोक्ता के रूप में यह नहीं है। – Jason
@ जेसन कवर के नीचे कोई धागा नहीं है। या कम से कम वहाँ होना जरूरी नहीं है। – Raynos