using System; using System.Threading; namespace ThreadingBasics { class Program { static void Main(string[] args) { Thread.CurrentThread.Name = "MAIN"; Console.WriteLine("[{0}] Hello.", Thread.CurrentThread.Name); Thread workerThread = new Thread(new ThreadStart(WorkerMethod)); workerThread.Name = "WORKER"; Console.WriteLine("[{0}] Created the new worker thread, {1}", Thread.CurrentThread.Name, workerThread.Name); workerThread.Start(); while (workerThread.IsAlive) { Console.WriteLine("[{0}] waiting.", Thread.CurrentThread.Name); Thread.Sleep(500); } Console.WriteLine("[{0}] worker thread finished.", Thread.CurrentThread.Name); } static void WorkerMethod() { for (int i = 0; i < 10; i++) { Console.WriteLine("[{0}] Doing some work.", Thread.CurrentThread.Name); Thread.Sleep(1000); } Console.WriteLine("[{0}] I am done.", Thread.CurrentThread.Name); } } }