हां और नहीं। शुरुआत से शुरू करते हैं। आई/ओ और अन्य ऐसे कार्यों के एक धागा पूल से चलाने - - Node.js द्वारा निष्पादित जावा स्क्रिप्ट कोड चलाता है, सभी व्यावहारिक के लिए क्यों NodeJS एकल पिरोया है, यहाँ से समझाया गया है Why is Node.js single threaded?
जबकि Node.js ही बहु-क्रम है उद्देश्यों, एक धागे में। यह नोड.जेएस की सीमा नहीं है, बल्कि वी 8 जावास्क्रिप्ट इंजन और जावास्क्रिप्ट कार्यान्वयन के लिए आम तौर पर है।
नोड.जेएस में एकाधिक नोड.जेएस प्रक्रियाओं को क्लस्टर करने के लिए मूल तंत्र शामिल है, जहां प्रत्येक प्रक्रिया एक अलग कोर पर चलती है। लेकिन उस क्लस्टरिंग तंत्र में श्रमिकों के बीच कोई मूल रूटिंग तर्क या साझा राज्य शामिल नहीं है।
आम तौर पर और अधिक स्पष्ट रूप से कथन यह है कि, प्रत्येक node.js प्रक्रिया एकल थ्रेड होती है। अगर आप एकाधिक धागे चाहते हैं, तो आपके पास कई प्रक्रियाएं भी होनी चाहिए। उदाहरण के लिए, आप इसके लिए बाल प्रक्रिया का उपयोग कर सकते हैं, जिसे यहां वर्णित किया गया है http://nodejs.org/api/child_process.html। और सिर्फ अपनी जानकारी के लिए, यह आलेख देखें, बहुत ही निर्देशक और अच्छी तरह से लिखा गया है, और संभवत: आपकी मदद करेगा, अगर आप child_processes के साथ काम करना चाहते हैं - https://blog.scottfrees.com/automating-a-c-program-from-a-node-js-web-app
उपर्युक्त सभी के बावजूद, आप एक प्राप्त कर सकते हैं सी ++ और देशी नोडजेस सी ++ विकास के साथ बहु-थ्रेडिंग की तरह।
सबसे पहले
How to create threads in nodejs
Node.js C++ addon: Multiple callbacks from different thread
Node.js C++ Addon: Threading
https://bravenewmethod.com/2011/03/30/callbacks-from-threaded-node-js-c-extension/
बेशक
आप पाते हैं और एक लाभ उठा सकते हैं ये उत्तर देखें, शायद वे आपकी मदद करेंगे, बहुत सारे नोड प्लगइन्स जो "बहु" -थ्रेडिन दे रहे हैं जी क्षमता: https://www.npmjs.com/search?q=thread
इसके अलावा, आप जाँच कर सकते हैं JXCorehttps://github.com/jxcore/jxcore JXCore Node.js का कांटा है और Node.js क्षुधा से अधिक थ्रेड एक ही प्रक्रिया के भीतर स्थित पर चलाने के लिए अनुमति देता है। तो शायद JXCore आपके लिए एक समाधान है।
"नोड.जेएस में बहु-थ्रेडिंग का उपयोग करने के फायदे और नुकसान क्या हैं?"
यह इस बात पर निर्भर करता है कि आप क्या करना चाहते हैं। यदि आप लाभ उठाते हैं और Node.js स्रोतों का सही ढंग से उपयोग करते हैं, और आपके "बहु" - थ्रेडेड प्लगइन्स या प्रक्रियाओं या जो भी हो, तो V8 या Node.js के मूल से कुछ भी "हैक" या दुरुपयोग न करें!
प्रत्येक उत्तर में, सही उत्तर "नौकरी के लिए सही उपकरण का उपयोग करें" है। बेशक, चूंकि नोड डिज़ाइन एकल-थ्रेडेड है, इसलिए आप मल्टीथ्रेडिंग के लिए बेहतर दृष्टिकोण प्राप्त कर सकते हैं।
एक तकनीक जो बहुत से लोग उपयोग करते हैं, सी ++, जावा, पायथन आदि में अपने बहु-थ्रेडेड एप्लिकेशन को बनाना है और फिर, वे इसे स्वचालन और नोड.जेएस child_process के माध्यम से चलाते हैं (तृतीय-पक्ष एप्लिकेशन स्वचालन के साथ असीमित रूप से चलाता है , आपके पास बेहतर प्रदर्शन (उदाहरण के लिए सी ++ ऐप) है, और आप इनपुट भेज सकते हैं और अपने Node.js एप्लिकेशन में और आउटपुट प्राप्त कर सकते हैं)।
नुकसान बहु सूत्रण Node.js
चेक करें: https://softwareengineering.stackexchange.com/questions/315454/what-are-the-drawbacks-of-making-a-multi-threaded-javascript-runtime-implementat
ध्यान रखें कि आप इसे संशोधित करके Node.js में एक शुद्ध बहु वातावरण बनाना चाहते हैं, मुझे लगता है यह जटिलता के कारण कठिन, जोखिम भरा होगा, इसके अलावा आपको हमेशा नए वी 8 या नोड रिलीज के साथ अद्यतित होना होगा जो शायद इसे प्रभावित करेगा।
उम्मीद है कि इससे मदद मिलती है।
लेकिन multithrading के लिए NPM में सूचीबद्ध मॉड्यूल, आप क्या से कुछ इस बारे में क्या कहना ... –
@UmakantMane, अधिक जानकारी के लिए (पढ़ने [जुड़ा हुआ जवाब] http://stackoverflow.com/questions/18613023/how करने वाली बनाने-धागे में NodeJS)। उन धागे को मूल रूप से उजागर नहीं किया जाता है और आपको उन तक पहुंचने के लिए विशेष पुस्तकालयों का उपयोग करना चाहिए। मेरा मुद्दा यह था कि आपको इसकी आवश्यकता नहीं हो सकती है। –
धन्यवाद, आप NodeJS में multithreading –