• 多线程的ResetAbort()


    多线程的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);
                }
            }
        }

    三、运行结果

     

     


    技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正!
    我创建了一个.NET开发交流群,用于分享学习心得和讨论相关技术难题。欢迎有兴趣的小伙伴扫码入群,相互学习!

  • 相关阅读:
    Visio2019专业版激活方法
    I2C总线协议
    latch-up和Antenna-effect
    读--数字集成电路物理设计
    数字IC设计流程与工具
    读--FPGA设计指导原则
    读--数字集成电路设计与实现
    FIFO
    半导体存储器
    触发器
  • 原文地址:https://www.cnblogs.com/wml-it/p/14821182.html
Copyright © 2020-2023  润新知