title: .NET 4 Async WebRequest Vs Multiple Threads
body: <p>I'm using C# .NET 4 and MSSQL.</p>
  
  <p>I'm writing a code that downloads the html of different websites and analyses it using Regex. </p>
  
  <p>Most of the time it takes the code to execute is waiting for the website html download to finish.</p>
  
  <p>Currently I'm using <strong>Task.Factory.StartNew</strong> to create multiple threads that call DownloadHtml() . DownloadHtml uses WebRequest &amp; StreamReader to download and read the website's html.</p>
  
  <p><strong>1. Should I change the DownloadHtml to use Async WebRequest and just use a single thread?<br>
  2. How is this different from using multiple threads?</strong></p>