Parallel.ForEachAsync внутри Parallel.ForEachAsync, нормально ли?
Собственно, вопрос в заголовке.
Нормально ли использовать Parallel.ForEachAsync внутри другого Parallel.ForEachAsync?
Есть сгруппированные данные (10х10), нужно их параллельно обработать, друг от друга группы не зависят. Каждую группу надо параллельно тоже обработать.
Так вот, можно ли так делать, чем это грозит, какие могут быть последствия?
Код для примера:
await Parallel.ForEachAsync(Enumerable.Range(0, 10), async (x, ctx) => {
await Parallel.ForEachAsync(Enumerable.Range(0, 10), async (t, ct) =>
{
Console.WriteLine($"element = {t} on {x}");
await Task.Delay(Random.Shared.Next(100, 5000));
});
});