Vivasoft-logo

থ্রেড কি?

আমরা কম বেশি সবাই কম্পিউটার প্রসেসর এর সাথে পরিচিত। প্রতিটা মডেলের প্রসেসর এর ভিন্ন ভিন্ন ক্ষমতা বা কোর আছে। ধরো তোমাদের বন্ধুর সিপিউ এর কোর ৪টা আবার তোমাদের আরেকটা বন্ধুর ৮ টা। স্বভাবতই এখানে ৮ কোর সিপিউ টার ক্ষমতা আর প্রাইস দুইটাই বেশি। এখানে ৮টা কোর বলতে এখানে ঐ কম্পিউটার টি একই সময়ে ৮টা কাজ প্যারালালি করতে পারবে। তার মানে যে কেউ আসলে চাইলেই পারবেনা এই কাজের পরিমান বাড়াতে যদি না যে বেশি দামে পাওয়ারফুল কোন প্রসেসর না কিনে। তার মানে আমরা বুঝতে পারসি যে সিপিউ কোর হলো ফিজিকাল একটা জিনিস এবং এক্সপেন্সিভ। আচ্ছা এখন প্রশ্ন আসতে পারে তাহলে থ্রেড কি বা এর সাথে সিপিউ কোরের ই বা কি সম্পর্ক? ইন্টেল এর নাম আমরা মোটামুটি সবাই জানি। এরা মেইনলি প্রসেসর সেলিং কোম্পানি। এরা একটা সময়ে এসে একটা প্রযুক্তি উদ্ভাবন করে যেটা একটা ফিজিকাল কোর কে ভার্চুয়ালি দুইটা কোর এর মত কাজ করাইতে পারে। তার মানে তোমাদের ৮টা যদি সিপিউ কোর হয় তাহলে এটা ১৬ টা কাজ প্যারালালি করতে পারবে বা ভার্চুয়ালি ১৬ টা কোরের মত কাজ করবে, যেটা আগে ৮টা করতে পারত। “থ্রেড প্রসেস এর একটা ইউনিট। ছোট ইন্সট্রাকশন সেট যেটা ডিজাইন করা হয়েছে প্যারেন্ট প্রসেস এর দ্বারা সিডিউল করতে এবং প্যারেন্ট প্রসেস এর প্যারালালি স্বাধীন ভাবে রান করতে পারে।” বর্তমানে, প্রতি টা প্রোগ্রামিং ল্যাঙ্গুয়েজ এর ই বিল্ট ইন সাপোর্ট আছে কিভাবে এই লিমিটেড থ্রেড কে অপটিমাইজ ওয়ে তে ইউজ করা যায় যাতে ইউজার ল্যাগ ফ্রি ইউজার এক্সপেরিয়েন্স পায়। প্রতিটা ল্যঙ্গুয়েজ ভিন্ন ভিন্ন ওয়ে তে এই প্রবলেম টা সলভ করার চেষ্টা করেছে যেমনঃ Java বাই ডিফল্ট মাল্টি থ্রেডেড ল্যাঙ্গুয়েজ (একই সাথে দুই বা ততোধিক process চালাতে পারে। সহজভাবে যদি বলি আপনি যদি একই সাথে গান শোনা এবং বই পড়া চালিয়ে যাচ্ছেন বিষয় টা অনেকটা সেই রকম) আবার Dart সিংগেল থ্রেডেড ল্যাঙ্গুয়েজ। ওহ ওয়েট, এখন প্রশ্ন আসতে পারে তাহলে ডার্ট সিংগেল থ্রেডেড ল্যাংগুয়েজ হলে কিভাবে মাল্টি থ্রেড অপটিমাইজ ওয়ে তে ইউজ করবে? কিভাবে আমরা গান শোনার পাশাপাশি ফেসবুক স্ক্রল করার মত কাজ গুলা ডার্টে করব? তাহলে কি ডার্ট লেস পাওয়ার ফুল এটা দিয়ে আমরা শুধু মাত্র এট এ টাইম একটা কাজ ই করতে পারব? আসলে ব্যাপার টা তেমন টা নয়, ডার্ট বাই ডিফল্ট একটা থ্রেডে(আসলে মেইন আইসোলেট) রান হলেও এটা কে দিয়ে সহজেই মাল্টি থ্রেডের কাজ গুলা করানো যায় আইসোলেট ইউজ করে।