মাল্টিথ্রেডিং হলো একটি প্রোগ্রামে একাধিক থ্রেড সমકালিনভাবে রান করার ক্ষমতা। প্রতিটি থ্রেড کنترলের একটি স্বতন্ত্র প্রবাহ প্রকাশ করে। 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 লাইব্রেরি ব্যবহার করা ভালো। এগুলো স্বয়ংক্রিয়ভাবে থ্রেড ম্যানেজমেন্ট, স্কেলেবিলিটি এবং এরর হ্যান্ডলিং নিয়ে নেয়।