Use IsAlive to wait for threads to end : Thread State : Thread C# Examples


C# Examples » Thread » Thread State »

 

Use IsAlive to wait for threads to end









    
using  System;  
using  System.Threading;  
  
class  MyThread  {  
    public  int  count;  
    public  Thread  thrd;  
  
    public  MyThread(string  name)  {  
        count  =  0;  
        thrd  =  new  Thread(this.run);  
        thrd.Name  =  name;  
        thrd.Start();  
    }  
  
    void  run()  {  
        Console.WriteLine(thrd.Name  +  "  starting.");  
  
        do  {  
            Thread.Sleep(500);  
            Console.WriteLine("In  "  +  thrd.Name  +  
                                                ",  count  is  "  +  count);  
            count++;  
        }  while(count  <  10);  
  
        Console.WriteLine(thrd.Name  +  "  terminating.");  
    }  
}  

class  MainClass  {  
    public  static  void  Main()  {  
        Console.WriteLine("Main  thread  starting.");  
  
        MyThread  mt1  =  new  MyThread("Child  #1");  
        MyThread  mt2  =  new  MyThread("Child  #2");  
        MyThread  mt3  =  new  MyThread("Child  #3");  
  
        do  {  
            Console.Write(".");  
            Thread.Sleep(100);  
        }  while  (mt1.thrd.IsAlive  &&  
                          mt2.thrd.IsAlive  &&  
                          mt3.thrd.IsAlive);  
  
        Console.WriteLine("Main  thread  ending.");  
    }  
}
    
   
  
   



Output

Main thread starting.
Child #1 starting.
Child #2 starting.
Child #3 starting.
.....In Child #1, count is 0
In Child #2, count is 0
In Child #3, count is 0
.....In Child #1, count is 1
In Child #2, count is 1
In Child #3, count is 1
....In Child #1, count is 2
In Child #2, count is 2
In Child #3, count is 2
.....In Child #1, count is 3
In Child #2, count is 3
In Child #3, count is 3
....In Child #1, count is 4
In Child #2, count is 4
In Child #3, count is 4
.....In Child #1, count is 5
In Child #2, count is 5
In Child #3, count is 5
.....In Child #1, count is 6
In Child #2, count is 6
In Child #3, count is 6
....In Child #1, count is 7
In Child #2, count is 7
In Child #3, count is 7
.....In Child #1, count is 8
In Child #2, count is 8
In Child #3, count is 8
....In Child #1, count is 9
Child #1 terminating.
In Child #2, count is 9
Child #2 terminating.
In Child #3, count is 9
Child #3 terminating.
Main thread ending.


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Thread
» Thread State