title: Creating a Thread without a delegate - Why this works?
body: <p>The Thread class has 4 different constructores:</p>
  
  <p>Thread(ParameterizedThreadStart)</p>
  
  <p>Thread(ThreadStart)</p>
  
  <p>Thread(ParameterizedThreadStart, Int32)</p>
  
  <p>Thread(ThreadStart, Int32)</p>
  
  <p>But why this following code works?</p>
  
  <pre><code>class Program {
      static void Main(string[] args) {
  
          Thread t = new Thread(count2);
          t.Start();
          count1();
          Console.ReadLine();
      }
  
      public static void count1() {
          for (int i = 0; i &lt; 10; i++) {
              Console.WriteLine("count1: " + i);
          }
      }
  
      public static void count2() {
          for (int i = 0; i &lt; 10; i++) {
              Console.WriteLine("count2: " + i);
          }
      }
  }
  </code></pre>
  
  <p>I don't pass the Thread constructore a ParameterizedThreadStart-delegate or a ThreadStart-delegate. I pass only a normal count2 method. But why this works?</p>