title: How to name a thread running a Task?
body: <p>I find naming threads to be very useful when debugging.</p>
  
  <p>I can see no way to name a thread using arguments to <code>Task.Factory.StartNew()</code></p>
  
  <p>So is it acceptable to name the thread explicitly in the task? eg:</p>
  
  <pre><code>private void MyFunc()
  {
      Task.Factory.StartNew(() =&gt;
      {
          Thread.CurrentThread.Name = "Foobulizer";
          Foobulize();
      });
  }
  </code></pre>
  
  <p>However, I appreciate that threads may be reused for different tasks, so would I need to explicitly reset the thread name at the end of the task? This feels pretty hacky so I'm thinking this is probably a bad idea, or there's a proper way to do it?</p>