title: C# Anonymous Thread with Lambda Syntax
body: <p>In general I get C#'s lambda syntax. However the anonymous thread syntax isn't completely clear to me. Can someone explain what a thread creation like this is actually doing? Please be as detailed as possible, I'd love to have a sort of step-by-step on the magic that makes this work.</p>
  
  <pre><code>(new Thread(() =&gt; {
          DoLongRunningWork();
          MessageBox.Show("Long Running Work Finished!");
      })).Start();
  </code></pre>
  
  <p>The part that I really don't understand is the <code>Thread(() =&gt; ...</code></p>
  
  <p>When I use this syntax it seems like I remove a lot of the limits of a traditional <code>ThreadStart</code> such as having to invoke on a method that has no parameters.</p>
  
  <p>Thanks for your help!</p>