我需要在所有任务完成后执行完成的行。我认为 Task.WaitAll(tasks) 会小心,但在执行回调方法后,我完成的行被执行。有没有办法阻塞主线程,直到 Task aray 完成它.
Taskpprcessor.Batchstart(定义)
public void BatchStart(List<TaskDefinition> definition)
{
int i = 0;
tasks = new Task[definition.Count];
definition.ForEach((a) =>
{
tasks[i] = Task<TaskResult>.Factory.StartNew(() => (TaskResult)a.MethodTocall.DynamicInvoke(a.ARguments));
tasks[i].ContinueWith(task => RunTaskRetObjResultIns((Task<TaskResult>)task, a.CompleteMethod));
i++;
});
Task.WaitAll(tasks);
Console.WriteLine("completed");
}