I'm trying to create tasks in a loop and each task uses different values as method parameter. However, I found all tasks are having the same parameter
for(int i = 0; i < threads; i++)
{
tasks.Add(new Task( () => DownloadFunc(i) ));
}
WATCH.Reset();
WATCH.Start();
Parallel.ForEach(tasks, t => t.Start());