C#-এ একটি থ্রেড ব্যাকগ্রাউন্ড থ্রেড কিনা তা জানতে Thread.IsBackground প্রপার্টি ব্যবহার করা হয়। ব্যাকগ্রাউন্ড থ্রেড অ্যাপ্লিকেশন বন্ধ হওয়ার সময় অটোমেটিক্যালি টারমিনেট হয়।
উদাহরণ ১
using System;
using System.Threading;
public class Demo {
public static void Main() {
Thread thread = new Thread(new ThreadStart(demo1));
ThreadPool.QueueUserWorkItem(new WaitCallback(demo2));
Console.WriteLine("থ্রেডের বর্তমান অবস্থা = " + thread.ThreadState);
Console.WriteLine("ManagedThreadId = " + thread.ManagedThreadId);
Console.WriteLine("থ্রেডটি কি ব্যাকগ্রাউন্ড থ্রেড? = " + Thread.CurrentThread.IsBackground);
}
public static void demo1() {
Thread.Sleep(2000);
}
public static void demo2(object stateInfo) {
Console.WriteLine("থ্রেড কি ম্যানেজড থ্রেড পুলের অংশ? = " + Thread.CurrentThread.IsThreadPoolThread);
}
}
আউটপুট
থ্রেডের বর্তমান অবস্থা = Unstarted ManagedThreadId = 721 থ্রেডটি কি ব্যাকগ্রাউন্ড থ্রেড? = False থ্রেড কি ম্যানেজড থ্রেড পুলের অংশ? = True
উদাহরণ ২
থ্রেডকে ব্যাকগ্রাউন্ড থ্রেড হিসেবে সেট করা:
using System;
using System.Threading;
public class Demo {
public static void Main() {
Thread thread = new Thread(new ThreadStart(demo1));
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("থ্রেড কি ম্যানেজড থ্রেড পুলের অংশ? = " + Thread.CurrentThread.IsThreadPoolThread);
}
}
আউটপুট
থ্রেডের বর্তমান অবস্থা = Unstarted ManagedThreadId = 1114 থ্রেডটি কি ব্যাকগ্রাউন্ড থ্রেড? = True থ্রেড কি ম্যানেজড থ্রেড পুলের অংশ? = True