using System; using System.Threading; class Program { public static void DoWork() { Console.WriteLine("Child thread starts"); Console.WriteLine("Child thread goes to sleep"); Thread.Sleep(5000); // the thread is paused for 5000 milliseconds Console.WriteLine("Child thread resumes and finishes"); } public static void Main(string[] args) { ThreadStart childJob = new ThreadStart(DoWork); Console.WriteLine("Main thread starts"); Thread childThread = new Thread(childJob); childThread.Start(); Console.WriteLine("Main thread waiting"); childThread.Join(); Console.WriteLine("Main thread finishes"); } }