Use ResetAbort() : Thread Abort : Thread C# Examples


C# Examples » Thread » Thread Abort »

 

Use ResetAbort()









    
using  System;  
using  System.Threading;  
  
class  MyThread  {    
    public  Thread  thrd;    
        
    public  MyThread(string  name)  {    
        thrd  =  new  Thread(this.run);  
        thrd.Name  =  name;  
        thrd.Start();    
    }    
    
    void  run()  {    
        Console.WriteLine(thrd.Name  +  "  starting.");  
  
        for(int  i  =  1;  i  <=  100;  i++)  {    
            try  {  
                Console.Write(i  +  "  ");    
                Thread.Sleep(50);  
            }  catch(ThreadAbortException  exc)  {  
                if((int)exc.ExceptionState  ==  0)  {  
                    Console.WriteLine("Abort  Cancelled!  Code  is  "  +  exc.ExceptionState);  
                    Thread.ResetAbort();  
                }  else    
                    Console.WriteLine("Thread  aborting,  code  is  "  +  exc.ExceptionState);  
            }  
        }  
        Console.WriteLine(thrd.Name  +  "  exiting  normally.");    
    }  
}  
    
class  MainClass  {    
    public  static  void  Main()  {    
        MyThread  mt1  =  new  MyThread("My  Thread");    
  
        Thread.Sleep(1000);  
  
        Console.WriteLine("Stopping  thread.");    
        mt1.thrd.Abort(100);  
  
        mt1.thrd.Join();  
  
        Console.WriteLine("Main  thread  terminating.");    
    }    
}
    
   
  
   




HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Thread
» Thread Abort