Вам нужно будет сохранить ссылки на все задачи, созданные в цикле. Затем вы можете использовать метод Task.WaitAll
(см. Ссылка MSDN ). Вы можете создать массив и назначить задачи элементам массива (в C # 2.0) или использовать LINQ:
var tasks =
AAAA.Select((Entity a) =>
Task.Factory.StartNew(() => { myMethod(a); },
Token, TaskCreationOptions.None)).ToArray();
Task.WaitAll(tasks)
Если вам не нужно использовать задачи (явно), то предложение Хенка использовать Parallel.ForEach
, вероятно, является лучшим вариантом.