"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावास्क्रिप्ट सिंगल थ्रेडेड नहीं है!!

जावास्क्रिप्ट सिंगल थ्रेडेड नहीं है!!

2024-07-31 को प्रकाशित
ब्राउज़ करें:340

नहीं! आपने यह गलत नहीं सीखा है कि जावास्क्रिप्ट एक एकल थ्रेडेड भाषा है। यह एक एकल-थ्रेडेड भाषा है, इसमें कोड को निष्पादित करने के लिए एकल मुख्य थ्रेड तक पहुंच होती है। इसलिए जब हम सिंक्रोनस प्रोग्रामिंग के बारे में बात करते हैं, तो हम इस अकेले थ्रेड के बारे में बात कर रहे हैं जो सभी भारी काम करता है और हमारे कोड को निष्पादित करता है।
Image description

लेकिन वास्तव में V8 इंजन और Node.js छह अतिरिक्त थ्रेड्स तक पहुंच प्राप्त करने के लिए libuv नामक एक c लाइब्रेरी का उपयोग करते हैं। इनमें से दो का उपयोग कचरा संग्रहण करने के लिए किया जाता है और बाकी का उपयोग एसिंक्रोनस प्रोग्रामिंग जैसे पृष्ठभूमि कार्यों को करने के लिए किया जाता है।

हाँ। जब हम कहते हैं कि कोड एसिंक्रोनस या नॉन-ब्लॉकिंग है तो वास्तव में क्या होता है कि एसिंक कोड कॉलबैक के साथ इन अतिरिक्त थ्रेड्स को पास कर दिया जाता है और मुख्य थ्रेड बाकी कोड को ब्लॉक किए बिना अपना काम करता रहता है।

Javascript is NOT single threaded!!
जब एसिंक कोड समाप्त हो जाता है, तो कॉलबैक फ़ंक्शन को त्रुटि या आवश्यक डेटा के साथ इवेंट कतार में धकेल दिया जाता है। फिर इवेंट लूप इसे कॉल स्टैक और बूम में धकेलता है, हमें अपना परिणाम मिलता है, इसे कुछ कोड के साथ समझें। आइए एफएस मॉड्यूल की रीडफाइल विधि को देखें।

fs.readFile("demo.text","utf8",(err,data)=>{
    if(error){       
        return error
    }
    console.log("output",data);
})

ऊपर दिए गए कोड में रीडफाइल विधि को बैकग्राउंड थ्रेड्स में पास किया जाता है। रीडिंग पृष्ठभूमि में होती है, और जब वह समाप्त हो जाती है तो कॉलबैक को त्रुटि या डेटा के साथ इवेंट कतार में धकेल दिया जाता है।

Javascript is NOT single threaded!!

एक बार कॉलस्टैक में कॉलबैक निष्पादित हो जाता है और हमारे पास आउटपुट के रूप में या तो त्रुटि या डेटा बचता है।
पढ़ने के लिए धन्यवाद, मुझे आशा है कि मैं जावास्क्रिप्ट में एकल थ्रेडेड साधनों के बारे में समझाने में सक्षम था।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/roshank Badola/javascript-is-not-single-threaded-3b9a?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3