थ्रेड पूल कब और किसने इस्तेमाल किया:
जब हम किसी कंप्यूटर पर नोड का उपयोग / स्थापित करते हैं तो सबसे पहले, यह अन्य प्रक्रियाओं के बीच एक प्रक्रिया शुरू करता है जिसे कंप्यूटर में नोड प्रक्रिया कहा जाता है, और यह तब तक चलता रहता है जब तक आप इसे मार नहीं देते। और यह चलने की प्रक्रिया हमारा तथाकथित एकल धागा है।
तो एकल थ्रेड का तंत्र एक नोड एप्लिकेशन को ब्लॉक करना आसान बनाता है लेकिन यह उन विशिष्ट विशेषताओं में से एक है जो Node.js तालिका में लाता है। इसलिए, यदि आप अपना नोड एप्लिकेशन चलाते हैं, तो यह केवल एक ही थ्रेड में चलेगा। कोई बात नहीं अगर आपके पास 1 या दस लाख उपयोगकर्ता एक ही समय में आपके एप्लिकेशन को एक्सेस कर रहे हैं।
तो चलिए समझते हैं कि नोड नोड्स के सिंगल थ्रेड में क्या होता है जब आप अपना नोड एप्लीकेशन शुरू करते हैं। सबसे पहले प्रोग्राम को इनिशियलाइज़ किया जाता है, फिर सभी टॉप-लेवल कोड को निष्पादित किया जाता है, जिसका अर्थ है कि सभी कोड जो किसी कॉलबैक फ़ंक्शन के अंदर नहीं हैं ( याद रखें कि सभी कॉलबैक फ़ंक्शन के अंदर सभी कोड ईवेंट लूप के तहत निष्पादित किए जाएंगे )।
उसके बाद, सभी मॉड्यूल कोड निष्पादित किए गए फिर सभी कॉलबैक को पंजीकृत करें, आखिरकार, आपके आवेदन के लिए इवेंट लूप शुरू हो गया।
तो जैसा कि हम सभी कॉलबैक फ़ंक्शन से पहले चर्चा करते हैं और उन फ़ंक्शन के अंदर कोड इवेंट लूप के तहत निष्पादित करेंगे। ईवेंट लूप में, लोड विभिन्न चरणों में वितरित किए जाते हैं। वैसे भी, मैं यहाँ इवेंट लूप के बारे में चर्चा नहीं करने जा रहा हूँ।
अच्छी तरह से थ्रेड पूल की बेहतर समझ की खातिर मैं आपसे एक कल्पना करने का अनुरोध करता हूं कि इवेंट लूप में, एक कॉलबैक फ़ंक्शन के अंदर कोड किसी अन्य कॉलबैक फ़ंक्शन के अंदर कोड्स को पूरा करने के बाद निष्पादित होते हैं, अब अगर कुछ कार्य वास्तव में बहुत भारी हैं। वे फिर हमारे नोडज एकल धागे को अवरुद्ध करेंगे। और इसलिए, यह वह जगह है जहां थ्रेड पूल आता है, जो कि इवेंट लूप की तरह है, लिबव लाइब्रेरी द्वारा Node.js को प्रदान किया जाता है।
तो थ्रेड पूल खुद नोड्ज का हिस्सा नहीं है, यह लिबव द्वारा भारी शुल्क को ऑफलोड करने के लिए लिबव द्वारा प्रदान किया गया है, और लिबव उन कोड को अपने स्वयं के थ्रेड्स में निष्पादित करेगा और निष्पादन के बाद लिबुव परिणाम को लूप में घटना में वापस कर देगा।
थ्रेड पूल हमें चार अतिरिक्त धागे देता है, जो मुख्य एकल धागे से पूरी तरह से अलग हैं। और हम वास्तव में इसे 128 थ्रेड तक कॉन्फ़िगर कर सकते हैं।
इसलिए इन सभी धागों ने मिलकर एक थ्रेड पूल का निर्माण किया। और इवेंट लूप तब थ्रेड पूल के लिए भारी कार्यों को स्वचालित रूप से बंद कर सकता है।
मजेदार बात यह है कि यह सब पर्दे के पीछे स्वचालित रूप से होता है। यह हमारे डेवलपर्स नहीं हैं जो तय करते हैं कि थ्रेड पूल में क्या जाता है और क्या नहीं।
कई कार्य थ्रेड पूल में जाते हैं, जैसे कि
-> All operations dealing with files
->Everyting is related to cryptography, like caching passwords.
->All compression stuff
->DNS lookups