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

C#-এ মাল্টিথ্রেডিং (Multithreading)

মাল্টিথ্রেডিং হলো একটি প্রোগ্রামে একাধিক থ্রেড সমકালিনভাবে রান করার ক্ষমতা। প্রতিটি থ্রেড کنترলের একটি স্বতন্ত্র প্রবাহ প্রকাশ করে। C#-এ System.Threading.Thread ক্লাস থ্রেড নিয়ে কাজ করার জন্য ব্যবহৃত হয়।

থ্রেডের লাইফসাইকেল স্টেটসমূহ

  • Unstarted: থ্রেড অবজেক্ট তৈরি হয়েছে কিন্তু Start() কল হয়নি।
  • Ready: রান করার জন্য প্রস্তুত, CPU-এর অপেক্ষায়।
  • Not Runnable: Sleep(), Wait(), বা I/O-এ ব্লকড।
  • Dead: এক্সিকিউশন শেষ বা অ্যাবর্ট করা।

উদাহরণ: বেসিক থ্রেড তৈরি

using System;
using System.Threading;

namespace Demo {
    class Program {
        static void Main(string[] args) {
            Thread th = Thread.CurrentThread;
            th.Name = "MainThread";
            Console.WriteLine("This is {0}", th.Name);
            Console.ReadKey();
        }
    }
}

আউটপুট

This is MainThread

সেরা অভ্যাস: নিচের লেভেলের Thread ক্লাসের বদলে আধুনিক C#-এ Task, async/await, ThreadPool, Parallel লাইব্রেরি ব্যবহার করা ভালো। এগুলো স্বয়ংক্রিয়ভাবে থ্রেড ম্যানেজমেন্ট, স্কেলেবিলিটি এবং এরর হ্যান্ডলিং নিয়ে নেয়।

  1. ৬জি: এটি কী এবং কবে আশা করবেন

  2. C#-এ করেন্ট থ্রেডের প্রায়োরিটি দেখানো

  3. C#-এ Assertion (অসারশন)

  4. জাভা মাল্টিথ্রেডিং-এ থ্রেড প্রায়োরিটি (Thread Priority)