Using ResetAbort() : Thread Abort « Thread « C# / C Sharp

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Design Patterns
8.Development Class
9.Event
10.File Stream
11.Generics
12.GUI Windows Form
13.Language Basics
14.LINQ
15.Network
16.Office
17.Reflection
18.Regular Expressions
19.Security
20.Services Event
21.Thread
22.Web Services
23.Windows
24.Windows Presentation Foundation
25.XML
26.XML LINQ
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source
C# / C Sharp » Thread » Thread AbortScreenshots 
Using ResetAbort()
Using ResetAbort()

/*
C#: The Complete Reference 
by Herbert Schildt 

Publisher: Osborne/McGraw-Hill (March 8, 2002)
ISBN: 0072134852
*/


// Using ResetAbort(). 
 
using System; 
using System.Threading; 
 
class MyThread {  
  public Thread thrd;  
    
  public MyThread(string name) {  
    thrd = new Thread(new ThreadStart(this.run))
    thrd.Name = name; 
    thrd.Start();  
  }  
  
  // This is the entry point for thread.  
  void run() {  
    Console.WriteLine(thrd.Name + " starting.")
 
    for(int i = 1; i <= 1000; i++) {  
      try 
        Console.Write(i + " ");  
        if((i%10)==0) { 
          Console.WriteLine()
          Thread.Sleep(250)
        
      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.");  
  

  
public class ResetAbort {  
  public static void Main() {  
    MyThread mt1 = new MyThread("My Thread");  
 
    Thread.Sleep(1000)// let child thread start executing 
 
    Console.WriteLine("Stopping thread.");  
    mt1.thrd.Abort(0)// this won't stop the thread 
 
    Thread.Sleep(1000)// let child execute a bit longer 
 
    Console.WriteLine("Stopping thread.");  
    mt1.thrd.Abort(100)// this will stop the thread 
 
    mt1.thrd.Join()// wait for thread to terminate 
 
    Console.WriteLine("Main thread terminating.");  
  }  
}


           
       
Related examples in the same category
1.Using Abort(object)Using Abort(object)
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.