Skip to main content

Posts

Showing posts from July, 2026

পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজের মাল্টি প্রসেসিং এবং মাল্টি থ্রেডিং

পাইথন প্রোগ্রামিংয়ে মাল্টি-থ্রেডিং (Multi-threading) এবং মাল্টি-প্রসেসিং (Multi-processing) হলো একই সাথে একাধিক কাজ (Concurrency) করার দুটি ভিন্ন উপায়। ১. মাল্টি-থ্রেডিং (Multi-threading) বাস্তব উদাহরণ: আপনার রেস্টুরেন্টে একজন প্রধান শেফ (CPU/Process) আছেন এবং তার আন্ডারে ৪ জন অ্যাসিস্ট্যান্ট শেফ (Threads) আছেন। তারা সবাই একই রান্নাঘরে (Memory Space) কাজ করছেন। একজন সবজি কাটছেন, একজন মসলা পিসছেন, একজন মাংস ধুচ্ছেন। তারা একই উপাদান এবং থালা-বাসন শেয়ার করছেন। কীভাবে কাজ করে: এখানে একটি মাত্র মেইন প্রোগ্রাম বা প্রসেসের ভেতরে একাধিক "থ্রেড" বা ছোট ছোট কাজের ধারা তৈরি হয়। এরা সবাই কম্পিউটারের একই মেমোরি (RAM) শেয়ার করে। কোথায় ব্যবহার করবেন (I/O Bound Tasks): যখন আপনার প্রোগ্রামে এমন কাজ থাকে যেখানে CPU-কে বসে থাকতে হয় (যেমন: ইন্টারনেট থেকে ফাইল ডাউনলোড করা, ডেটাবেজ থেকে ডেটা আনা, বা ইউজারের ইনপুটের জন্য অপেক্ষা করা)। পাইথনের সীমাবদ্ধতা (GIL): পাইথনে GIL (Global Interpreter Lock) নামের একটি লক থাকে। এর কারণে মাল্টি-থ্রেডিং করলেও পাইথন একসাথে মাত্র একটি থ্রেডকেই CPU ব্যবহার করতে দ...