title: Synchronizing two threads with AutoResetEvent
body: <p>I'm trying to implement <code>AutoResetEvent</code>. For the purpose I use a very simple class :</p>
  
  <pre><code>public class MyThreadTest
  {
      static readonly AutoResetEvent thread1Step = new AutoResetEvent(false);
      static readonly AutoResetEvent thread2Step = new AutoResetEvent(false);
  
      void DisplayThread1()
      {
          while (true)
          {
              Console.WriteLine("Display Thread 1");
  
              Thread.Sleep(1000);
              thread1Step.Set();
              thread2Step.WaitOne();
          }
      }
  
      void DisplayThread2()
      {
          while (true)
          {
              Console.WriteLine("Display Thread 2");
              Thread.Sleep(1000);
              thread2Step.Set();
              thread1Step.WaitOne();
          }
      }
  
      void CreateThreads()
      {
          // construct two threads for our demonstration;
          Thread thread1 = new Thread(new ThreadStart(DisplayThread1));
          Thread thread2 = new Thread(new ThreadStart(DisplayThread2));
  
          // start them
          thread1.Start();
          thread2.Start();
      }
  
      public static void Main()
      {
          MyThreadTest StartMultiThreads = new MyThreadTest();
          StartMultiThreads.CreateThreads();
      }
  }
  </code></pre>
  
  <p>But this is not working. Th usage seem very straight-forward so I would appreciate if someone is able to show me what's wrong and where is the problem with the logic which i implement here.</p>