C#-এ Thread.Abort() মেথড থ্রেড ধ্বংস করতে ব্যবহৃত হয়। রানটাইম থ্রেডে ThreadAbortException নিক্ষেপ করে থ্রেড বন্ধ করে। এই এক্সেপশন ক্যাচ করা যাবে না, কন্ট্রোল finally ব্লকে চলে যায় (যদি থাকে)।
থ্রেডে Abort() মেথড কল করা:
childThread.Abort();
উদাহরণ
using System;
using System.Threading;
namespace MultithreadingApplication {
class ThreadCreationProgram {
public static void CallToChildThread() {
try {
Console.WriteLine("Child thread starts");
// কিছু কাজ করা, যেমন ১০ পর্যন্ত গণনা
for (int counter = 0; counter <= 10; counter++) {
Thread.Sleep(500);
Console.WriteLine(counter);
}
Console.WriteLine("Child Thread Completed");
} catch (ThreadAbortException e) {
Console.WriteLine("Thread Abort Exception");
} finally {
Console.WriteLine("Couldn't catch the Thread Exception");
}
}
static void Main(string[] args) {
ThreadStart childref = new ThreadStart(CallToChildThread);
Console.WriteLine("In Main: Creating the Child thread");
Thread childThread = new Thread(childref);
childThread.Start();
// মেইন থ্রেড কিছু সময় জন্য বন্ধ রাখা
Thread.Sleep(5000);
// এখন চাইল্ড থ্রেড বন্ধ করা
Console.WriteLine("In Main: Aborting the Child thread");
childThread.Abort();
Console.ReadKey();
}
}
}
আউটপুট
In Main: Creating the Child thread Child thread starts 0 1 2 3 4 5 6 7 8 In Main: Aborting the Child thread Thread Abort Exception Couldn't catch the Thread Exception