কম্পিউটার টিউটোরিয়াল

জাভাতে প্রসেস এবং থ্রেডের পার্থক্য

এই পোস্টে আমরা জাভাতে একটি প্রসেস (Process) এবং থ্রেড (Thread) এর পার্থক্য বুঝব।

প্রসেস (Process)

  • এটি এক্সিকিউশনে থাকা একটি প্রোগ্রামকে বোঝায়।
  • একটি প্রসেস তৈরি করতে বেশি সময় লাগে।
  • টার্মিনেট হওয়াতে বেশি সময় লাগে।
  • কনটেক্সট স্যুইচ করতে বেশি সময় লাগে।
  • সিস্টেমের বেশি রিসোর্স খরচ করে।
  • কমিউনিকেশনের দৃষ্টিতে কম দক্ষ (less efficient)।
  • এটি আইসোলেটেড (isolated) চরিত্রের।
  • এটিকে হеви-ওয়েট প্রসেসও বলা হয়।
  • এক প্রসেস থেকে অন্য প্রসেসে স্যুইচ করলে অপারেটিং সিস্টেমের ইন্টারফেস ব্যবহার করে।
  • যদি একটি সার্ভার প্রসেস ব্লক হয়, তবে আগের প্রসেস আনব্লক হওয়া পর্যন্ত অন্য কোনো সার্ভার প্রসেস এক্সিকিউট হতে পারে না।
  • এটির নিজস্ব Process Control Block, Stack এবং Address Space থাকে।

থ্রেড (Thread)

  • এটি প্রসেসের একটি সেগমেন্টকে বোঝায়।
  • তৈরি করতে কম সময় লাগে।
  • টার্মিনেট হওয়াতে কম সময় লাগে।
  • কনটেক্সট স্যুইচ করতে কম সময় লাগে।
  • সিস্টেমের কম রিসোর্স খরচ করে।
  • এগুলো মেমরি শেয়ার করে।
  • এটিকে লাইট-ওয়েট প্রসেসও বলা হয়।
  • কমিউনিকেশনে আরও দক্ষ।
  • এক থ্রেড থেকে অন্য থ্রেডে স্যুইচ করলে অপারেটিং সিস্টেম কল দরকার নয়।
  • কার্নেলকে ইন্টারрап্ট করে না।
  • যখন একটি সার্ভার থ্রেড ব্লক হয়, তবে দ্বিতীয় থ্রেড একই টাস্কে চলে।
  • এটি প্যারেন্টের Process Control Block ব্যবহার করে।
  • এটি নিজস্ব Thread Control Block, Stack এবং Common Address Space ব্যবহার করে।
  1. জাভাতে Exception এবং Error-এর পার্থক্য

  2. জাভাতে Serialization এবং Externalization-এর পার্থক্য

  3. জাভাতে Iterator এবং Enumeration-এর পার্থক্য

  4. জাভাতে ArrayList এবং HashSet-এর পার্থক্য