title: Calling thread.sleep() while waiting for a new thread to spawn
body: <p>I suppose this question can be boiled down to "SpinWait vs. Block?", but I figured there may be a more interesting answer as to why nearly every C# threading tutorial suggests the following call:</p>
  
  <pre><code>Thread newThread = new Thread(new ThreadStart(ThreadMethod));
  newThread.Start()
  while (!newThread.isAlive()) ;
  Thread.Sleep(1); // Allow the new thread to do some work
  </code></pre>
  
  <p>As opposed to blocking like so:</p>
  
  <pre><code>Thread newThread = new Thread(new ThreadStart(ThreadMethod));
  newThread.Start()
  while (!newThread.isAlive()) Thread.Sleep(1);
  Thread.Sleep(1); // Allow the new thread to do some work
  </code></pre>
  
  <p>My very brute-force testing (surrounding the while loop with calls to DateTime.Ticks) doesn't really reveal anything (says the difference is 0 ticks in both instances). </p>
  
  <p>Is the thread creation process short enough that spinning is more efficient? Or do most tutorials suggest spinning because it's slightly more elegant and the time difference is negligible?</p>