1) मल्टीथ्रेडिंग बेहद कठिन है, और दुर्भाग्यवश जिस तरह से आपने इस विचार को प्रस्तुत किया है उसका तात्पर्य है कि आप कितना कठिन है इसे कम करके आंका जा रहा है।
फिलहाल, ऐसा लगता है कि आप बस भाषा में "थ्रेड्स" जोड़ रहे हैं और बाद में इसे सही और निष्पादित करने के तरीके के बारे में चिंता कर रहे हैं। विशेष रूप से:
अगर दो कार्य एक चर को समवर्ती रूप से एक्सेस करने का प्रयास करते हैं, तो यह परमाणु चिह्नित हो जाता है और वे पहुंच के लिए संघर्ष करते हैं।
...
मैं मानता हूं कि परमाणु चर सब कुछ हल नहीं करेंगे, लेकिन सिंक्रनाइज़ेशन समस्या के समाधान पर काम करना मेरा अगला लक्ष्य है।
"समन्वयन समस्या के लिए समाधान" के बिना जावास्क्रिप्ट में थ्रेड जोड़ना, "समस्या समस्या के समाधान" के बिना जावास्क्रिप्ट में पूर्णांक जोड़ना होगा। यह समस्या की प्रकृति के लिए इतना मौलिक है कि मूल रूप से इस बात पर भी चर्चा नहीं हो रही है कि क्या कोई बहुउद्देशीय समाधान किसी विशेष समाधान को ध्यान में रखे बिना लायक है, चाहे हम कितनी भी बुरी तरह से चाहें।
इसके अलावा, सभी चर को परमाणु बनाना एक तरह की चीज है जो कि मल्टीथ्रेडेड प्रोग्राम को उसके एकलथ्राप समकक्ष से भी बदतर बनाने की संभावना है , जो वास्तव में अधिक यथार्थवादी कार्यक्रमों पर प्रदर्शन का परीक्षण करना और भी महत्वपूर्ण बनाता है और देखें कि आप कुछ हासिल कर रहे हैं या नहीं।
यह मेरे लिए भी स्पष्ट नहीं है कि आप थ्रेड्स को नोड से छिपाकर रखने की कोशिश कर रहे हैं। जेएस प्रोग्रामर या यदि आप उन्हें किसी बिंदु पर उजागर करने की योजना बना रहे हैं, तो प्रभावी रूप से मल्टीथ्रेडेड प्रोग्रामिंग के लिए जावास्क्रिप्ट की एक नई बोली बना रहे हैं। दोनों विकल्प संभावित रूप से दिलचस्प हैं, लेकिन ऐसा लगता है कि आपने यह भी तय नहीं किया है कि आप किसके लिए अभी तक लक्ष्य बना रहे हैं।
तो इस समय, आप प्रोग्रामर को सिंगलथ्रेडेड वातावरण से एकदम नए मल्टीथ्रेडेड वातावरण पर स्विच करने पर विचार करने के लिए कह रहे हैं जिसमें सिंक्रोनाइज़ेशन समस्या का कोई समाधान नहीं है और यह वास्तविक दुनिया के प्रदर्शन को बेहतर बनाने के लिए कोई सबूत नहीं है, और उन मुद्दों को हल करने के लिए कोई योजना नहीं है।
शायद इसीलिए लोग आपको गंभीरता से नहीं लेते।
2) एकल घटना लूप की सादगी और मजबूती एक बहुत बड़ा फायदा है।
जावास्क्रिप्ट प्रोग्रामर जानते हैं कि जावास्क्रिप्ट भाषा जाति की स्थिति और अन्य बेहद कपटी बग्स से "सुरक्षित" है, जो सभी वास्तविक रूप से बहुस्तरीय प्रोग्रामिंग को प्लेग करती है। यह तथ्य कि उन्हें सुरक्षा देने के लिए उन्हें तर्क देने के लिए मजबूत तर्क की आवश्यकता होती है, सुरक्षा उन्हें बंद दिमाग नहीं बनाती है, यह उन्हें जिम्मेदार बनाता है।
जब तक आप किसी तरह से उस सुरक्षा को बरकरार नहीं रख सकते, जो कोई भी एक मल्टीथ्रेडेड नोड पर स्विच करना चाहता है। जेएस शायद एक भाषा पर स्विच करना बेहतर होगा जैसे कि गो मल्टीथ्रेडेड एप्लिकेशन के लिए जमीन से डिज़ाइन किया गया है।
3) जावास्क्रिप्ट पहले से ही प्रोग्रामर को थ्रेड मैनेजमेंट को उजागर किए बिना "बैकग्राउंड थ्रेड्स" (वेबवर्क) और एसिंक्रोनस प्रोग्रामिंग का समर्थन करता है।
उन विशेषताओं में पहले से ही बहुत सारे सामान्य उपयोग के मामलों को हल किया गया है जो वास्तविक घटना में जावास्क्रिप्ट प्रोग्रामर को प्रभावित करते हैं, बिना सिंगल इवेंट लूप की सुरक्षा को प्रभावित करते हैं।
क्या आपके पास कोई विशिष्ट उपयोग के मामले हैं जो इन सुविधाओं को हल नहीं करते हैं, और यह कि जावास्क्रिप्ट प्रोग्रामर एक समाधान चाहते हैं? यदि हां, तो उस विशिष्ट उपयोग मामले के संदर्भ में अपने मल्टीथ्रेडेड नोड.जेएस को प्रस्तुत करना एक अच्छा विचार होगा।
पुनश्च क्या मुझे एक बहुआयामी नोड पर लागू करने की कोशिश करने के लिए मनाएगा। जेएस कार्यान्वयन?
जावास्क्रिप्ट / नोड.जेएस में एक गैर-तुच्छ कार्यक्रम लिखें जो आपको लगता है कि वास्तविक मल्टीथ्रेडिंग से लाभ होगा। सामान्य नोड और अपने मल्टीथ्रेडेड नोड में इस नमूना कार्यक्रम पर प्रदर्शन परीक्षण करें। मुझे दिखाएं कि आपका संस्करण बिना किसी बग या अस्थिरता के, रनटाइम प्रदर्शन, जवाबदेही और कई कोर के उपयोग को एक महत्वपूर्ण डिग्री तक सुधारता है।
एक बार जब आप ऐसा कर लेते हैं, तो मुझे लगता है कि आप लोगों को इस विचार में अधिक रुचि लेंगे।