【多线程-Abort()方法强制退出线程】

线程的退出比较特殊,使用的是Abort()方法进行强制退出,会抛出一个线程异常来结束该线程的执行任务。

class Program
    {
        private static Thread subthread ;
        private static string name ="";
        static void Main(string[] args)
        {
            subthread = new Thread(new ThreadStart(GetShow));
            subthread.IsBackground = false;
            subthread.Name = "子线程";
            subthread.Start();   //开启线程
            Console.WriteLine("{0}后台线程", Thread.CurrentThread.Name+Thread.CurrentThread.IsBackground+",结束");
            Console.WriteLine("主线程结束");
        }
        static void GetShow()
        {
            Console.WriteLine("输入姓名:");
            name = Console.ReadLine();
            try
            {
                subthread.Abort();//结束线程
            }
            catch (Exception ex)
            {
                Console.WriteLine("异常:>> "+ex.Message);
            }
            Console.WriteLine("执行");
        }
    }
【多线程-Abort()方法强制退出线程】_第1张图片

在上面输入姓名后,结束subThread线程,使用Abort()方法,最后抛出了一个线程异常,终止该线程。

【多线程-Abort()方法强制退出线程】_第2张图片


你可能感兴趣的:([10],多线程,[01],.NET随笔,C#多线程)