Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🧠 Parallelism vs Concurrency


১. Concurrency

Concurrency এমন একটি প্রক্রিয়া যেখানে CPU একসাথে অনেকগুলো কাজ একইসাথে run করছে এমন একটি illusion তৈরি করা, এটি এমনভাবে কাজ করে যেন সবগুলো কাজ একইসাথে চলছে অর্থাৎ ব্যবহারকারীর চোখে এটি যেন একসাথে অনেক কাজ হচ্ছে এমন একটি illusion তৈরি করে।

🛠 উদাহরণ :

YouTube অ্যাপ চালানোর সময় তুমি দেখতে পারো:

  • ভিডিও প্লে হচ্ছে
  • কমেন্ট লোড হচ্ছে
  • বিজ্ঞাপন আসছে
  • স্ক্রল করলে নতুন ভিডিও সাজেশন আসছে

সবকিছুই একসাথে ঘটছে বলে মনে হয়, কিন্তু মূলত এই কাজগুলো context switching এর মাধ্যমে একে একে execute হচ্ছে।

✅ মূল বৈশিষ্ট্য:

  • একসাথে অনেক কাজ handle করা হয়
  • CPU এক সময়ে একটিই কাজ করে, কিন্তু দ্রুত context switch করে
  • Single-core CPU-তেও কাজ করে

২. Parallelism

Parallelism বোঝায় একাধিক কাজ একই সময়ে, একাধিক CPU বা processor/core ব্যবহার করে execute হওয়া। প্রতিটি কাজ আলাদা processor/core দ্বারা একসাথে চালানো হয়।

🛠 উদাহরণ :

ধরো, তুমি Adobe Premiere Pro তে ভিডিও এক্সপোর্ট দিচ্ছো একি সময়ে

  • একটি core ভিডিও প্রসেস করছে
  • অন্য core অডিও রেন্ডার করছে
  • আরেকটি core এফেক্ট প্রসেস করছে

এই কাজগুলো processor/CPU multiple core দ্বারা একসাথে চলায় যাতে রেন্ডারিং দ্রুত সম্পন্ন হয়। এটি Parallelism।

✅ মূল বৈশিষ্ট্য:

  • একাধিক কাজ একই সময়ে সত্যিকারের parallel চলে
  • Multi-core processor দরকার
  • সময় বাঁচে এবং efficiency বাড়ে

৩. তুলনামূলক পার্থক্য

বিষয়ConcurrencyParallelism
কাজের ধরনএকাধিক কাজ context switch করে execute হয়একাধিক কাজ একসাথে চলতে থাকে
প্রয়োজনীয়তাSingle-core CPU-তেও সম্ভবMulti-core CPU প্রয়োজন
বাস্তব উদাহরণYouTube অ্যাপের বিভিন্ন ফিচার একসাথে চলাVideo rendering-এ একাধিক core কাজ করে
উদ্দেশ্যঅনেক কাজকে একসাথে handle করাকাজগুলো দ্রুত এবং একযোগে শেষ করা
Task Execution StyleInterleaved (ক্রমাগত পালাক্রমে)Simultaneous (একসাথে একযোগে)

৪. সংক্ষেপে:

  • Concurrency হলো কাজগুলোকে একসাথে handle করার কৌশল, যেখানে একসাথে অনেক কিছু ঘটলেও, CPU এক সময়ে একটিই কাজ করে।
  • Parallelism হলো সত্যিকারের একসাথে অনেক কাজ করা, যেখানে প্রতিটি কাজ ভিন্ন ভিন্ন processor/core দ্বারা চলে।

[Author : @shahriar-em0n Date: 2025-06-09 Category: interview-qa/class-wise ]