List<Task> processingTasks = new();
foreach (var sample in samples) {
var task = _processor.Process(sample, cancellationToken);
processingTasks.Add(task);
}
await Task.WhenAll(processingTasks);
// in processor.process
List<Task> generationTasks = new();
foreach (var foo in sample.Foos) {
var task = _generator.Generate(foo, cancellationToken);
generationTasks.Add(task);
}
await Task.WhenAll(generationTasks);
List<Task> processingTasks = new();
foreach (var sample in samples) {
var task = _processor.Process(sample, cancellationToken);
processingTasks.Add(task);
}
await Task.WhenAll(processingTasks);
// in processor.process
List<Task> generationTasks = new();
foreach (var foo in sample.Foos) {
var task = _generator.Generate(foo, cancellationToken);
generationTasks.Add(task);
}
await Task.WhenAll(generationTasks);