zoukankan      html  css  js  c++  java
  • 关于Thread.Abort

    static void Main(string[] args)
            {
                Thread th 
    = new Thread(Fun);
                th.Start();
                Thread.Sleep(
    1000);
                th.Abort();
            }

            
    static void Fun()
            {
                
    try
                {
                    
    while (true)
                    {
                        
    try
                        {
                            Test();
                        }
                        
    catch (ThreadAbortException ex) //在此处ThreadAbortException能被捕获到,但是还是会向上层冒泡
                        {
                            Console.WriteLine(
    "线程被终止了");
                           
    //由于是在异常捕获中休眠,所以即使其它线程调用此线程的Abort方法结束此线程,也得等休眠时间过去才能将ThreadAbortException异常冒泡到此线程的最顶层代码
                            Thread.Sleep(3000);
                        }
                    }
                }
                
    catch (ThreadAbortException ex)//在此处ThreadAbortException能被捕获到,此线程结束
                {
                    Console.WriteLine(
    "结束了");
                }
            }
            
    static void Test()
            {            
                
    try
                {
                    Thread.Sleep(
    100000);  
                }
                
    catch (ThreadAbortException ex)//在此处ThreadAbortException能被捕获到,但是还是会向上层冒泡
                {
                    Console.WriteLine(
    "Test_ThreadAbortException");
                }
                
    catch (Exception ex)
                {
                    Console.WriteLine(
    "Test_Exception");
                }
            }
  • 相关阅读:
    Django(28)Django模板介绍
    Django(27)Django类视图添加装饰器
    HTTP协议-返回结果的HTTP状态
    HTTP协议二
    HTTP协议 一
    HTTP 协议用于客户端和服务器端之间 的通信
    Net分布式系统之一:系统整体框架介绍
    数据结构-实现正负数重新排序
    数据结构-合并两个已经排序的数组
    数据结构-查找第一个没有重复的数组元素
  • 原文地址:https://www.cnblogs.com/mxw09/p/2050214.html
Copyright © 2011-2022 走看看