"अतुल्यकालिक घटना" की परिभाषा को समझना आसान है? [बन्द है]


88

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

धन्यवाद!

जवाबों:


422

गैर प्रोग्रामिंग उदाहरण:

तुल्यकालिक आप रात के खाने के लिए एक पिज्जा चाहते हैं और आप जमे हुए प्रकार से बाहर हैं। इसलिए आपको WOW खेलना बंद करना होगा जो आपके गिल्ड को अपसेट करता है। आप रसोई में जाते हैं, आटा बनाते हैं, इसे सॉस के साथ कवर करते हैं, पनीर जोड़ते हैं, और इसे अपने पसंदीदा बेकन टॉपिंग को चिकना करते हैं। आपने अभी अपना 20 मिनट ओवन में 10 मिनट के साथ पिज्जा बनाने में बिताया। टाइमर बीप करता है और आप गर्म पाई को बाहर निकालते हैं। आप अपने कंप्यूटर के सामने वापस बैठ सकते हैं, पिज्जा खा सकते हैं, और अपने छापे के साथ जारी रख सकते हैं।

अतुल्यकालिक आप WOW खेलते समय रात के खाने के लिए पिज्जा चाहते हैं। आप अपने 5 वें मॉनिटर पर एक ब्राउज़र विंडो खोलते हैं। आप पिज्जा वेबसाइट को लोड करते हैं और अपने अतिरिक्त पनीर बेकन पिज्जा को बेकन ग्रीज़ गार्लिक सॉस के एक साइड से ऑर्डर करते हैं। आप अपने छापे पर वापस जाते हैं और 20 मिनट के बाद दरवाजे की घंटी बजती है। आपको पिज्जा मिलता है। आप अपने कंप्यूटर के सामने वापस बैठते हैं, पिज्जा खाते हैं, और अपने छापे के साथ जारी रखते हैं।

तो अंतर क्या है? एक तरह से आप 20-30 मिनट का कीमती WOW समय बर्बाद करते हैं, दूसरा तरीका आप $ 20 प्लस टिप बर्बाद करते हैं।


53
मुझे दुख होता है कि मुझे यह इतना मजेदार लगता है।
डेनिस होक्टर

3
मुझे यह स्वीकार करना होगा कि एक लंबे समय में देखा गया सबसे अच्छा गैर-प्रोग्रामिंग स्पष्टीकरण हो सकता है! महान उदाहरण!
इबान डॉमिंग्वेज़ नोडा

मुझे यह मिल गया है और यह उत्तर मुझे इसे समझने में मदद करता है, लेकिन मुझे अब पिज़्ज़ा चाहिए / / और अनुरोध तब तक जारी रहेगा जब तक कि मुझे पिज़्ज़ा -_- नहीं मिलता
JMASTER B

मुझे "नॉन प्रोग्रामिंग उदाहरण" बहुत पसंद हैं !!
सिंथिया सांचेज

@epascarello यह हास्यास्पद पक्ष वास्तव में अच्छी तरह से काम करता है !!! उल्लेख नहीं है, यह समझने के लिए स्पष्ट है। मुझे एक परियोजना के लिए आप पर पकड़ बनाने की आवश्यकता है
उमर

19

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

अचानक, किसी भी चेतावनी के बिना, कर्सर माउस पर हाथ को थोड़ा जकड़ना शुरू कर देता है और मेज की खुरदरी सतह पर प्लास्टिक की छोटी गांठ को कुतरना शुरू कर देता है। जैसे-जैसे माउस चलता है, स्क्रीन पर इसकी सरोगेट निकट नक़ल में चलती है, अतीत की दिलचस्प छवियों और आपके पृष्ठ की सामग्री में मजाकिया टिप्पणी करती है। आखिरकार एक निर्णय किया जाता है, आंदोलन रुक जाता है, एक मांसपेशी या थोड़ा अनुबंध होता है, और माउस बटन एक आग्रहपूर्ण उंगली से उदास होता है। माउस में माइक्रोस्विच एक इलेक्ट्रॉनिक आवेग को चलाता है, और अचानक ब्राउज़र को इस बात से अवगत कराया जाता है कि क्या हुआ है: एक माउस क्लिक।

उस सब में, पृष्ठ पर टकटकी लगाते हुए उपयोगकर्ता ने जो कुछ भी किया है, वह उस तरह से है जो ब्राउज़र में पूरी तरह से अप्रत्याशित है, आपके वेब पेज के किसी भी क्लाइंट कोड में, आपके सर्वर पर किसी भी निवासी के लिए। मानव कार्यों के बीच कोई भी जानने योग्य "प्रतीक्षा समय" नहीं था। इसलिए, क्रियाओं, जैसे कि उपकरण द्वारा उपयोगकर्ता के कंप्यूटर को प्रसारित किया जाता है, तब हुआ जब वे हुआ और एक पूर्वानुमान की घड़ी के अनुसार नहीं - अर्थात, वे अतुल्यकालिक रूप से हुए


3
+1 अच्छी कहानी :) बहुत लुभावना ... इसने मुझे अपना माउस बना दिया और "अप वोट" तीर पर क्लिक किया। और यहाँ फिर से अतुल्यकालिक घटना है ....
फेलिक्स क्लिंग

1
महान उदाहरण, एक ब्राउज़र घटना का विकल्प बस महान है!
sjsam

18

एक साक्षात्कार के अंत के बारे में सोचो, और वे आदमी कहते हैं, "हमें फोन न करें, हम आपको कॉल करेंगे"। यह एक अतुल्यकालिक घटना का सार है।

आम तौर पर आप कार्यों को परिभाषित करते हैं और आप कार्यों को स्पष्ट रूप से कहते हैं। आपके प्रोग्राम की एक संरचना है जहां यह लाइन 1 से शुरू होती है, फिर लाइन 2, और कुछ सशर्त कोड और पुनरावृत्तियों, कॉलिंग फ़ंक्शन आदि को छोड़कर, एक सरल, लाइनर, सिंक्रोनस संरचना है।

लेकिन कुछ मामलों में आपके पास ऐसी क्रियाएं होती हैं जो प्रोग्राम के प्रत्यक्ष नियंत्रण के बाहर की घटनाओं से शुरू होती हैं, प्रोग्राम के बाहर से आने वाली चीजें, जैसे उपयोगकर्ता इंटरफ़ेस इवेंट (उपयोगकर्ता माउस क्लिक करता है) या नेटवर्क ईवेंट (कोई व्यक्ति कनेक्ट करने का प्रयास करता है) आपका सर्वर)। आपका कोड इन घटनाओं को सीधे उत्पन्न नहीं करता है। वे आपके प्रोग्राम के बाहर उत्पन्न होते हैं, अक्सर उपयोगकर्ता इंटरफ़ेस उपकरणों और अन्य प्रणालियों की निगरानी के आधार पर ओएस द्वारा। इन्हें अतुल्यकालिक घटनाएं कहा जाता है।

बस याद रखें, "हमें कॉल न करें, हम आपको कॉल करेंगे"


12

"प्रोग्रामिंग में, अतुल्यकालिक घटनाएं मुख्य कार्यक्रम प्रवाह के स्वतंत्र रूप से होने वाली हैं। अतुल्यकालिक क्रियाएं एक गैर-अवरुद्ध योजना में निष्पादित की जाने वाली क्रियाएं हैं, जो मुख्य कार्यक्रम प्रवाह को प्रसंस्करण जारी रखने की अनुमति देती हैं।"

"अजाक्स के साथ, वेब एप्लिकेशन मौजूदा पृष्ठ के प्रदर्शन और व्यवहार में हस्तक्षेप किए बिना सर्वर से पृष्ठभूमि में अतुल्यकालिक रूप से डेटा को पुनः प्राप्त कर सकते हैं।"

जब आप SO पर Edit और Save पर क्लिक करते हैं तो यह एसिंक्रोनस रूप से हो रहा है।


12

एक अतुल्यकालिक घटना एक घटना है जो एप्लिकेशन के मुख्य धागे के बाहर चलती है।

समझने का सबसे अच्छा तरीका उन घटनाओं की तुलना करना है जो समकालिक रूप से चलते हैं। सबसे विशिष्ट उदाहरण एक वेब पेज लोड हो रहा होगा।

जब आप इस पृष्ठ पर जाते हैं, तो आप एक लिंक पर क्लिक करते हैं और पृष्ठ के लोड होने का इंतजार करते हैं और जब तक यह लोड नहीं हो जाता तब तक इस पृष्ठ के साथ बातचीत या उपयोग करने में सक्षम नहीं थे। इसके विपरीत, यदि इस पृष्ठ में कुछ उपयोगकर्ता कार्रवाई के साथ जुड़े एक AJAX घटना (जो अतुल्यकालिक जावास्क्रिप्ट और XML घटना है) थी, तो यह पृष्ठ किसी अन्य स्रोत से कुछ डेटा को अतुल्यकालिक रूप से लोड करेगा - समानांतर (सैद्धांतिक रूप से) किसी अन्य क्रिया के साथ।

दो तुल्यकालिक घटनाओं (ए और बी) के साथ उदाहरण: पहला ए कुछ करता है। जब A समाप्त होता है B कुछ करता है।

दो अतुल्यकालिक घटनाओं (ए और बी) के साथ उदाहरण: ए और बी दोनों एक ही समय में कुछ करते हैं और न ही घटना दूसरे का इंतजार करती है।


7

यहाँ जावास्क्रिप्ट में एक अतुल्यकालिक ऑपरेशन का एक उदाहरण है (आपको अपने जावास्क्रिप्ट कंसोल को खोलने की आवश्यकता है)

console.log('One!');
setTimeout(function(){console.log('Two!');},0);
//Doesn't wait
console.log('Three!');};

//OUTPUT:
//One!
//Three!
//Two!

इसके console.log('Two!')बाद होने वाले बाकी कोड को ब्लॉक किए बिना कॉल को निष्पादित किया जाएगा।

एक वास्तविक परिदृश्य में, वेब पेज पर किसी बटन को क्लिक करने वाले सेटटाइमआउट को बदलें। बटन क्लिक की प्रतिक्रिया अंततः अन्य कोड निष्पादन जैसे पेज रेंडरिंग को ब्लॉक किए बिना होगी।


5

सीधे शब्दों में कहें तो इसका मतलब है कि ऐसा कुछ होता है जो अज्ञात समय के बाद होता है, इसलिए तत्काल परिणाम की उम्मीद न करें।

उदाहरण के लिए, "माँ, क्या मेरे पास पाँच डॉलर हो सकते हैं?"

पैसे के लिए अपना हाथ बाहर रखना मुझे उम्मीद है कि वह तुरंत मुझे पैसे (समकालिक) देकर जवाब देगा।

वास्तविक रूप से, वह एक-दो पल के लिए मुझे देख लेगी, और फिर जब वह (अतुल्यकालिक) चाहेगी तो जवाब देने का फैसला करेगी।


2

जब दो अलग-अलग घटनाएं एक-दूसरे से अलग होती हैं, तो आप ऐसा नहीं कर सकते

task1
task2

जाँच के बिना कि task1वास्तव में समाप्त हो गया।


1

अतुल्यकालिक घटनाएँ वे घटनाएँ होती हैं जिन्हें हम नहीं जानते कि यह भविष्य में कब होगी, उदाहरण के लिए जब सर्वर से कुछ फ़ाइल के लिए अनुरोध किया जाता है तो हमें यह नहीं पता होता है कि यह हमारे अनुरोध को पूरा करेगा या यूआई की घटनाओं को हम नहीं जानते कि उपयोगकर्ता कब करेंगे एक बटन या अन्य यूआई तत्व पर क्लिक करें, लेकिन इसके बावजूद पेज या एप्लिकेशन पर अन्य चीजें हो रही हैं, इससे ऐसा कुछ भी नहीं होता है कि पेज सभी यूआई को बाहर निकालता है जब तक कि सर्वर से कुछ फ़ाइल नहीं आ रही है या कुछ घटना हो रही है सभी चीजें स्वतंत्र हैं यह अतुल्यकालिक घटनाओं की शक्ति है, बस स्वतंत्र घटनाओं का कहना है


0

सिंक्रोनस बनाम। अतुल्यकालिक घटनाएं

कुछ घटना संचालकों को घटना होने पर तुरंत बुलाया जाता है। इन्हें 'सिंक्रोनस' ईवेंट कहा जाता है। एक उदाहरण DocumentNew है। जैसे ही उपयोगकर्ता एक नया दस्तावेज़ बनाता है उसे कॉल किया जाता है।

हालांकि, कुछ घटनाओं को घटना के तुरंत बाद कहा जाता है, आमतौर पर निष्क्रिय समय की थोड़ी मात्रा के बाद। इन्हें 'अतुल्यकालिक' घटनाएँ कहा जाता है। वे अतुल्यकालिक हैं क्योंकि यह स्रोत इनसाइट को नष्ट कर देगा यदि उपयोगकर्ता द्वारा लिखित मैक्रो को उस घटना को ठीक समय पर बुलाया जाए।


0

यदि कोड सिंक्रोनस (या सिंक) है, तो इसका मतलब है कि कोड का प्रत्येक टुकड़ा क्रम में, क्रमिक रूप से चलता है, और कोड का अगला टुकड़ा तब तक नहीं चल सकता जब तक कि पिछला पूरा नहीं हो जाता। अधिकांश कोड आमतौर पर सिंक्रोनस होते हैं।

यदि कोड अतुल्यकालिक (या async) है, तो इसका मतलब है कि कोड अन्य कोड के अलग और स्वतंत्र रूप से चल सकता है। यदि इस विशेष प्रश्न के संदर्भ में सिंक कोड के एक समूह के बीच में async कोड है, तो async कोड केवल तभी चलेगा जब इसकी घटना शुरू हो जाएगी, भले ही सिंक कोड में आप इसे डालते हैं। यह सिंक कोड से पूरी तरह से अलग और स्वतंत्र है और जब भी इसकी घटना कहती है, तब चलती है, न कि केवल तब जब कोड का पिछला टुकड़ा चल रहा हो। इसका कुछ उदाहरण कोड के लिए होगा जो एक समय अंतराल पर चलता है, एक फ़ाइल सफलतापूर्वक सहेजे जाने के बाद, जब उपयोगकर्ता अनुरोध बटन क्लिक करता है, या छवि लोड होने के बाद, एक वेब अनुरोध भेजा जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.