Suspending, resuming, and stopping a thread : Thread Creation « Thread « C# / C Sharp






Suspending, resuming, and stopping a thread

Suspending, resuming, and stopping a thread
/*
C#: The Complete Reference 
by Herbert Schildt 

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


// Suspending, resuming, and stopping a thread. 
 
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++) {  
      Console.Write(i + " ");  
      if((i%10)==0) { 
        Console.WriteLine(); 
        Thread.Sleep(250); 
      } 
    } 
    Console.WriteLine(thrd.Name + " exiting.");  
  }  
} 
  
public class SuspendResumeStop {  
  public static void Main() {  
    MyThread mt1 = new MyThread("My Thread");  
 
    Thread.Sleep(1000); // let child thread start executing 
  
    mt1.thrd.Suspend();  
    Console.WriteLine("Suspending thread.");  
    Thread.Sleep(1000); 
 
    mt1.thrd.Resume();  
    Console.WriteLine("Resuming thread.");  
    Thread.Sleep(1000); 
 
    mt1.thrd.Suspend();  
    Console.WriteLine("Suspending thread.");  
    Thread.Sleep(1000); 
 
    mt1.thrd.Resume();  
    Console.WriteLine("Resuming thread.");  
    Thread.Sleep(1000); 
 
    Console.WriteLine("Stopping thread.");  
    mt1.thrd.Abort(); 
 
    mt1.thrd.Join(); // wait for thread to terminate 
 
    Console.WriteLine("Main thread terminating.");  
  }  
}


           
       








Related examples in the same category

1.Creating Threads
2.My Threading Start
3.illustrates the creation of threadsillustrates the creation of threads
4.illustrates the use of thread-local storageillustrates the use of thread-local storage
5.shows the Thread.Join method in actionshows the Thread.Join method in action
6.Create a thread of executionCreate a thread of execution
7.An alternate way to start a threadAn alternate way to start a thread
8.Create multiple threads of executionCreate multiple threads of execution