Using Abort(object)
/* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // Using Abort(object). using System; using System.Threading; class MyThread { public Thread thrd; public MyThread(string name) { thrd = new Thread(new ThreadStart(this.run)); thrd.Name = name; thrd.Start(); } // This is the entry point for thread. void run() { try { Console.WriteLine(thrd.Name + " starting."); for(int i = 1; i <= 1000; i++) { Console.Write(i + " "); if((i%10)==0) { Console.WriteLine(); Thread.Sleep(250); } } Console.WriteLine(thrd.Name + " exiting normally."); } catch(ThreadAbortException exc) { Console.WriteLine("Thread aborting, code is " + exc.ExceptionState); } } } public class UseAltAbort { public static void Main() { MyThread mt1 = new MyThread("My Thread"); Thread.Sleep(1000); // let child thread start executing Console.WriteLine("Stopping thread."); mt1.thrd.Abort(100); mt1.thrd.Join(); // wait for thread to terminate Console.WriteLine("Main thread terminating."); } }