C#多线程的ResetAbort()方法

这篇文章介绍了C#多线程的ResetAbort()方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、简介

Abort方法可以通过跑出ThreadAbortException异常中止线程,而使用ResetAbort方法可以取消中止线程的操作,下面通过代码演示使用 ResetAbort方法。

二、代码

class Program
    {
        static void Main(string[] args)
        {
            Thread thread = new Thread(ThreadMethod);     //执行的必须是无返回值的方法 
            thread.Name = "子線程A";
            thread.Start();
            Console.ReadKey();
        }

        public static void ThreadMethod(object parameter)
        {
            try
            {
                Console.WriteLine("我是:{0},我要終止了!", Thread.CurrentThread.Name);
                //开始终止线程
                Thread.CurrentThread.Abort();
                //下面的代码不会执行
                for (int i = 0; i < 10; i++)
                {
                    Console.WriteLine("我是:{0},我循環{1}次", Thread.CurrentThread.Name, i);
                }
            }
            catch (ThreadAbortException ex)
            {
                Console.WriteLine("我是:{0},我又恢復了", Thread.CurrentThread.Name);
                //恢复被终止的线程
                Thread.ResetAbort();
            }
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine("我是:{0},我循環{1}次", Thread.CurrentThread.Name, i);
            }
        }
    }

三、运行结果

到此这篇关于C#多线程ResetAbort()方法的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持得得之家。

本文标题为:C#多线程的ResetAbort()方法

基础教程推荐