1) মাল্টিথ্রেডিং অত্যন্ত কঠিন, এবং দুর্ভাগ্যক্রমে আপনি এখন পর্যন্ত এই ধারণাটি যেভাবে উপস্থাপন করেছেন তা বোঝায় যে আপনি এটি কতটা কঠোর তা কঠোরভাবে অবমূল্যায়ন করছেন।
এই মুহুর্তে, মনে হচ্ছে আপনি কেবল ভাষায় "থ্রেড যুক্ত করছেন" এবং কীভাবে এটি সঠিক এবং পারফরম্যান্ট করতে হবে তা নিয়ে উদ্বিগ্ন। নির্দিষ্টভাবে:
যদি দুটি কাজ একই সাথে একটি পরিবর্তনশীল অ্যাক্সেস করার চেষ্টা করে তবে এটি পারমাণবিক হিসাবে চিহ্নিত হয় এবং তারা অ্যাক্সেসের পক্ষে দাবি করে।
...
আমি সম্মত হই যে পারমাণবিক ভেরিয়েবলগুলি সমস্ত কিছু সমাধান করবে না, তবে সিঙ্ক্রোনাইজেশন সমস্যার সমাধানের জন্য কাজ করা আমার পরবর্তী লক্ষ্য।
"সিঙ্ক্রোনাইজেশন সমস্যার সমাধান না করে" জাভাস্ক্রিপ্টে থ্রেড যুক্ত করা জাভাস্ক্রিপ্টে "সংযোজন সমস্যার সমাধান না করে" ইন্টিজার যুক্ত করার মতো। এটি সমস্যার প্রকৃতির পক্ষে এতটাই মৌলিক যে মূলত কোনও নির্দিষ্ট সমাধান না রেখে আমরা মাল্টিথ্রেডিং যুক্ত হওয়া উচিত কিনা তা নিয়ে মূলত আলোচনা করার কোনও অর্থ নেই, তা আমরা যতই খারাপভাবে চাই না কেন তা বিবেচনা করুন।
এছাড়াও, সমস্ত ভেরিয়েবলকে পারমাণবিক করে তোলা এমন এক ধরণের জিনিস যা সম্ভবত একটি বহুবিবাহিত প্রোগ্রামকে তার এককলাংশিত অংশের তুলনায় আরও খারাপ সঞ্চালন করে তোলে, এটি আরও বাস্তবসম্মত প্রোগ্রামগুলিতে প্রকৃতপক্ষে পারফরম্যান্স পরীক্ষা করে দেখা এবং আপনি কিছু অর্জন করছেন কিনা তা আরও গুরুত্বপূর্ণ করে তোলে।
আপনি নোড.জেএস প্রোগ্রামার থেকে থ্রেডগুলি গোপন রাখার চেষ্টা করছেন কিনা বা আপনি যদি কোনও পর্যায়ে তাদের বহির্ভূত করার পরিকল্পনা করছেন, কার্যকরভাবে মাল্টিথ্রেড প্রোগ্রামিংয়ের জন্য জাভাস্ক্রিপ্টের একটি নতুন উপভাষা তৈরি করছেন কিনা তাও আমার কাছে স্পষ্ট নয়। উভয় বিকল্পগুলি সম্ভাব্য আকর্ষণীয়, তবে মনে হচ্ছে আপনি এখনও কোনটির জন্য লক্ষ্য রেখেছেন তা আপনি এখনও সিদ্ধান্ত নেননি।
সুতরাং এই মুহুর্তে, আপনি প্রোগ্রামারদেরকে এককলাঠিত পরিবেশ থেকে একেবারে নতুন বহুবিবাহিত পরিবেশে স্যুইচিংয়ের সমস্যার সমাধান করার কোনও সমাধান নেই এবং এটি বাস্তব-বিশ্বের পারফরম্যান্সের উন্নতি করার কোনও প্রমাণ নেই এবং এই সমস্যাগুলি সমাধান করার জন্য আপাতদৃষ্টিতে কোনও পরিকল্পনা নেই বলে বিবেচনা করতে বলছেন।
এ কারণেই সম্ভবত লোকেরা আপনাকে গুরুত্ব সহকারে নেয় না।
2) একক ইভেন্ট লুপের সরলতা এবং দৃust়তা একটি বিশাল সুবিধা।
জাভাস্ক্রিপ্ট প্রোগ্রামাররা জানেন যে জাভাস্ক্রিপ্ট ভাষা জাতিগত পরিস্থিতি এবং অন্যান্য অত্যন্ত জালিয়াতি বাগগুলি থেকে সমস্ত নিরাপদে বহুবিশ্লেষিত প্রোগ্রামিং থেকে দূরে থাকা "নিরাপদ"। তাদের এই নিরাপত্তা ত্যাগ করার জন্য তাদের দৃ convince় বিশ্বাসের জন্য দৃ strong় যুক্তিগুলির প্রয়োজন যে এগুলি তাদের বন্ধচিন্তিত করে না, এটি তাদেরকে দায়বদ্ধ করে তোলে।
যদি আপনি কোনওভাবে এই সুরক্ষা ধরে না রাখতে পারেন তবে যে কেউ মাল্টিথ্রেডেড নোড.জেজে স্যুইচ করতে চান তারা সম্ভবত গোয়ের মতো কোনও ভাষাতে স্যুইচিংয়ের চেয়ে ভাল হতে পারেন যেটি মাল্টিথ্রেডেড অ্যাপ্লিকেশনগুলির জন্য গ্রাউন্ড আপ থেকে তৈরি করা হয়েছে।
3) জাভাস্ক্রিপ্ট ইতিমধ্যে প্রোগ্রামারটিতে থ্রেড ম্যানেজমেন্ট সরাসরি প্রকাশ না করেই "ব্যাকগ্রাউন্ড থ্রেড" (ওয়েব ওয়ার্কার্স) এবং অ্যাসিনক্রোনাস প্রোগ্রামিং সমর্থন করে।
এই বৈশিষ্ট্যগুলি ইতিমধ্যে প্রচলিত সাধারণ ব্যবহারের কেসগুলি সমাধান করে যা বাস্তব বিশ্বের জাভাস্ক্রিপ্ট প্রোগ্রামারগুলিকে প্রভাবিত করে, একক ইভেন্ট লুপটির সুরক্ষা না দিয়ে।
এই বৈশিষ্ট্যগুলি সমাধান না করে এবং জাভাস্ক্রিপ্ট প্রোগ্রামাররা এর সমাধান চান তা মনে করে আপনার কোনও নির্দিষ্ট ব্যবহারের মামলা রয়েছে? যদি তা হয় তবে আপনার মাল্টিথ্রেডেড নোড.জেগুলি সেই নির্দিষ্ট ব্যবহারের ক্ষেত্রে প্রসঙ্গে উপস্থাপন করা ভাল ধারণা হবে।
পিএস আমাকে মাল্টিথ্রেডেড নোড.জেএস বাস্তবায়নে স্যুইচ করার চেষ্টা করতে কী বোঝাবে?
জাভাস্ক্রিপ্ট / নোড.জেএসগুলিতে একটি তুচ্ছ প্রোগ্রাম লিখুন যা আপনার মনে হয় আসল মাল্টিথ্রেডিংয়ের মাধ্যমে উপকৃত হবে। সাধারণ নোড এবং আপনার মাল্টিথ্রেড নোডে এই নমুনা প্রোগ্রামটিতে পারফরম্যান্স পরীক্ষা করুন। আমাকে দেখান যে আপনার সংস্করণটি কোনও বাগ বা অস্থিরতার পরিচয় না দিয়ে রানটাইম কর্মক্ষমতা, প্রতিক্রিয়াশীলতা এবং একাধিক কোরের একাধিক কোরের ব্যবহারকে উন্নত করে।
এটি করা হয়ে গেলে, আমি মনে করি আপনি এই ধারণার প্রতি লোকদের আরও বেশি আগ্রহী দেখবেন।