Task.WaitAll не ожидает дочерней задачи?

Здравствуйте, у меня есть _noOfThreadsкак определенные задачи для одновременного запуска. Поэтому я продолжаю выполнять задачи с помощью оператора %и в конце Цикл у меня есть Tasks.WaitAll. Это фрагмент кода.

for (int index = 0; index < count; index++)
{

                if (index < _noOfThreads)
                    tasks[index] = Task.Factory.StartNew(somedelegate);
                else
                    tasks[index % _noOfThreads].ContinueWith(task => { foo.bar(); }, 
                            TaskContinuationOptions.AttachedToParent);
 }
  Task.WaitAll(tasks);

Однако я заметил, что он не ждет завершения дочерних задач. Как только родительские задачи завершатся, следующая строка после Выполняется Task.WaitAll. Как мне изменить этот код, чтобы он также ждал дочерние задачи?

5
задан Tim Tom 23 May 2012 в 13:16
поделиться