থ্রেড হলো প্রোগ্রামের এক্সিকিউশন পাথ। প্রতিটি থ্রেড ইউনিক ফ্লো অফ কন্ট্রোল ডিফাইন করে। জটিল এবং টাইম-কনসামিং অপারেশন থাকলে আলাদা থ্রেড সেট করলে ইফিশিয়েন্সি বাড়ে।
থ্রেড হলো লাইটওয়েট প্রসেস। আধুনিক OS-এ কনকারেন্ট প্রোগ্রামিং ইমপ্লিমেন্ট করার সাধারণ উদাহরণ। থ্রেড ব্যবহার করলে CPU সাইকেল বাঁচায় এবং অ্যাপ্লিকেশন দক্ষতা বাড়ায়।
C#-এ System.Threading.Thread ক্লাস থ্রেডের সাথে কাজ করার জন্য। এটি মাল্টিথ্রেডেড অ্যাপ্লিকেশনে אינডিভিজুয়াল থ্রেড তৈরি এবং অ্যাক্সেস করতে দেয়। প্রথম এক্সিকিউট হওয়া থ্রেডকে মেইন থ্রেড বলা হয়।
C# প্রোগ্রাম শুরু হলে মেইন থ্রেড অটোমেটিক্যালি তৈরি হয়। Thread ক্লাস দিয়ে তৈরি থ্রেডগুলো মেইন থ্রেডের চাইল্ড থ্রেড। Thread.CurrentThread প্রপার্টি দিয়ে করেন্ট থ্রেড অ্যাক্সেস করা যায়।
উদাহরণ
class Program
{
public static void Main()
{
Thread thr;
thr = Thread.CurrentThread;
thr.Name = "Main thread";
Console.WriteLine("Name of current running thread: {0}", Thread.CurrentThread.Name);
Console.WriteLine("Id of current running thread: {0}", Thread.CurrentThread.ManagedThreadId);
Console.ReadLine();
}
}
আউটপুট
Name of current running thread: Main thread
Id of current running thread: 1
অতিরিক্ত: Thread.CurrentThread.ManagedThreadId ইউনিক আইডেনটিফায়ার (প্রসেস-স্কোপে)। Thread.Id (লিগ্যাসি) একই। টাস্ক-বেইজড প্রোগ্রামিং (Task.Run) এ থ্রেড পুল থ্রেড ব্যবহার হয়, ম্যানেজড থ্রেড আইডি রিয়ুজ হয়।