Passing an argument to the thread method. : Thread Creation : Thread C# Examples


C# Examples » Thread » Thread Creation »

 

Passing an argument to the thread method.









    
using  System;    
using  System.Threading;    
    
class  MyThread  {    
    public  int  count;    
    public  Thread  thrd;    
  
    public  MyThread(string  name,  int  num)  {    
        count  =  0;    
  
        thrd  =  new  Thread(new  ParameterizedThreadStart(this.run));  
  
        thrd.Name  =  name;  
  
        thrd.Start(num);    
    }    
    
    void  run(object  num)  {    
        Console.WriteLine(thrd.Name  +  "  starting  with  count  of  "  +  num);    
    
        do  {    
            Thread.Sleep(500);    
            Console.WriteLine("In  "  +  thrd.Name  +  ",  count  is  "  +  count);    
            count++;    
        }  while(count  <  (int)  num);    
    
        Console.WriteLine(thrd.Name  +  "  terminating.");    
    }    
}    
    
class  MainClass  {    
    public  static  void  Main()  {    
        MyThread  mt  =  new  MyThread("Child  #1",  5);    
        MyThread  mt2  =  new  MyThread("Child  #1",  3);    
    
        do  {    
            Thread.Sleep(100);    
        }  while  (mt.thrd.IsAlive  |  mt2.thrd.IsAlive);    
    
        Console.WriteLine("Main  thread  ending.");    
    }    
}
    
   
  
   



Output

Child #1 starting with count of 5
Child #1 starting with count of 3
In Child #1, count is 0
In Child #1, count is 0
In Child #1, count is 1
In Child #1, count is 1
In Child #1, count is 2
In Child #1, count is 2
Child #1 terminating.
In Child #1, count is 3
In Child #1, count is 4
Child #1 terminating.
Main thread ending.


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Thread
» Thread Creation