Mega Code Archive

 
Categories / C# / Thread
 

Use Join()

/* C#: The Complete Reference  by Herbert Schildt  Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // Use Join().    using System;  using System.Threading;    class MyThread {    public int count;    public Thread thrd;      public MyThread(string name) {      count = 0;      thrd = new Thread(new ThreadStart(this.run));      thrd.Name = name;      thrd.Start();    }      // Entry point of thread.    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.");    }  }    // Use Join() to wait for threads to end.  public class JoinThreads {    public static void Main() {      Console.WriteLine("Main thread starting.");        // Construct three threads.      MyThread mt1 = new MyThread("Child #1");      MyThread mt2 = new MyThread("Child #2");      MyThread mt3 = new MyThread("Child #3");        mt1.thrd.Join();      Console.WriteLine("Child #1 joined.");        mt2.thrd.Join();      Console.WriteLine("Child #2 joined.");        mt3.thrd.Join();      Console.WriteLine("Child #3 joined.");        Console.WriteLine("Main thread ending.");    }  }