Thread C# Tutorial

using System;
using System.Threading;
class MainClass
{
  public static ManualResetEvent MyManualEvent = new ManualResetEvent(false);
  public static AutoResetEvent MyAutoEvent = new AutoResetEvent(false);
  static void Main(string[] args)
  {
    ThreadPool.QueueUserWorkItem(new WaitCallback(DoBackgroundWorkManual));
    MyManualEvent.WaitOne();
    MyManualEvent.Reset();
    ThreadPool.QueueUserWorkItem(new WaitCallback(DoBackgroundWorkAuto));
    MyAutoEvent.WaitOne();
  }
  public static void DoBackgroundWorkManual(Object state)
  {
    Console.WriteLine("Thread 1");
    MyManualEvent.Set();
  }
  public static void DoBackgroundWorkAuto(Object state)
  {
    Console.WriteLine("Thread 1");
    MyAutoEvent.Set();
  }
}
Thread 1
Thread 1