Что такое различие между:C# и Threadpool
Task[] tasks = new Task[mylist.Count];
int i = 0;
foreach (DataTable dt in mylist)
{
Task t = Task.Factory.StartNew(() => UpdateProductsData(dt, updateType));
tasks[i] = t;
i++;
}
Task.WaitAll(tasks);
и:
tasks[0] = Task.Factory.StartNew(() => UpdateProductsData(mylist[0], updateType));
tasks[1] = Task.Factory.StartNew(() => UpdateProductsData(mylist[1], updateType));
tasks[2] = Task.Factory.StartNew(() => UpdateProductsData(mylist[2], updateType));
tasks[3] = Task.Factory.StartNew(() => UpdateProductsData(mylist[3], updateType));
Task.WaitAll(tasks);
По какой-то причине первый фрагмент кода заканчивается преждевременно, хотя второй фрагмент ведет себя, как ожидалось. Что нужно изменить в первом примере, чтобы обеспечить динамическую реализацию?
Невозможно рассказать без дополнительных контекстов и примеров. –
@SimonWhitehead, но делает первый снипп точно так же, как второй, учитывая, что 'mylist' имеет 4 элемента? – user2490355