C#-এ একটি থ্রেড বর্তমানে চলছে কিনা (alive) তা জানতে Thread.IsAlive প্রপার্টি ব্যবহার করা হয়। এটি true ফেরত দেয় যদি থ্রেড শুরু হয়ে থাকে এবং এখনও টারমিনেট না हुआ থাকে।
উদাহরণ ১
using System;
using System.Threading;
public class Demo {
public static void Main() {
Thread thread = new Thread(new ThreadStart(demo1));
thread = Thread.CurrentThread;
Console.WriteLine("থ্রেডটি কি জীবিত? = " + thread.IsAlive);
ThreadPool.QueueUserWorkItem(new WaitCallback(demo2));
Console.WriteLine("থ্রেডের বর্তমান অবস্থা = " + thread.ThreadState);
Console.WriteLine("ManagedThreadId = " + thread.ManagedThreadId);
thread.IsBackground = true;
Console.WriteLine("থ্রেডটি কি ব্যাকগ্রাউন্ড থ্রেড? = " + thread.IsBackground);
}
public static void demo1() {
Thread.Sleep(2000);
}
public static void demo2(object stateInfo) {
Console.WriteLine("থ্রেড কি ম্যানেজড থ্রেড পুলের części? = " + Thread.CurrentThread.IsThreadPoolThread);
}
}
আউটপুট
থ্রেডটি কি জীবিত? = True থ্রেডের বর্তমান অবস্থা = Running ManagedThreadId = 775 থ্রেডটি কি ব্যাকগ্রাউন্ড থ্রেড? = True থ্রেড কি ম্যানেজড থ্রেড পুলের অংশ? = True
উদাহরণ ২
অন্য একটি উদাহরণ:
using System;
using System.Threading;
public class Demo {
public static void Main() {
Thread thread = new Thread(new ThreadStart(demo));
thread.Start();
Console.WriteLine("থ্রেডটি কি জীবিত? " + thread.IsAlive);
}
public static void demo() {
Console.WriteLine("থ্রেড কি ম্যানেজড থ্রেড পুলের অংশ? = " + Thread.CurrentThread.IsThreadPoolThread);
}
}
আউটপুট
থ্রেডটি কি জীবিত? True থ্রেড কি ম্যানেজড থ্রেড পুলের অংশ? = False