Call same method many times at once
<p>I have this simple method:</p>

<pre><code>static void Extract()
{
    Interlocked.Add(ref Program.n, 1);
    Console.WriteLine("Currently on: " + n + " Page");
    Console.WriteLine("Downloading String...Extract...");
    WebClient client = new WebClient();
    string html = client.DownloadString("www.something.com&amp;page=" + n);
    Console.WriteLine("Proccesing data from string... (Extract)");   
}
</code></pre>

<p>I want to call method <code>Extract()</code> few times at once and I tried this:</p>

<pre><code>while(n&lt;3411)
{
    var tasks = new List&lt;Task&gt;();
    for (int x = 0; x &lt; 7; x++)
    {
        tasks.Add(Task.Factory.StartNew(new Action(Extract)));
    }

    Task.WaitAll(tasks);       
}
</code></pre>

<p>But I get error </p>

<blockquote>
  <p>Severity  Code    Description Project File    Line    Suppression State
  Error CS1503  Argument 1: cannot convert from
  'System.Collections.Generic.List' to
  'System.Threading.Tasks.Task' RecipeCommunity_Users   C:\Users\xxx\AppData\Local\Temporary
  Projects\Community_Users\Program.cs   24  Active</p>
</blockquote>

<p>How I can call method <code>Extract()</code> many times at once ? </p>