title: C# / VB.Net Task vs Thread vs BackgroundWorker
body: <p>I have "Googled" but still confused with Task, Thread, and Background Worker.....</p>
  
  <ol>
  <li><p>Is "Task is a high level API that running on current thread" correct ?</p></li>
  <li><p>If 1 is correct, why I need to use invoke to change the UI inside the task at same thread ?</p></li>
  <li><p>Backgroundworker only got lowest priority in the application ? So the performance of backgroundworker is lower than task and thread ? Right ?</p></li>
  <li><p>Finally, in my application I need to get a string from server using "HttpWebRequest", after that parse the string and update the UI. 
  If I use "HttpWebRequest.BeginGetResponse" to wait for the async result and trigger an complete event to update the UI, I need to use invoke method to call the UI thread control, but can I use background  worker instead of ? I can just simply change the UI in "RunWorkerCompleted" event, are there any disadvantage ?</p></li>
  </ol>
  
  <p>Sorry for my pool English and thanks for help...!</p>