Как TPL обрабатывает несколько параллельных вызовов?
Пример: я хочу обрабатывать две не связанные коллекции параллельно.
(предположим, что обработка одного предмета в каждой коллекции занимает очень много времени)
В настоящее время я делаю это так:
Parallel.Invoke(() => Parallel.ForEach(collection1,...),
() => Parallel.ForEach(collection2,...))
Это работает, но мне любопытно, как планировщик TPL будет обрабатывать 3 отдельных вызова.
Должен ли я сделать это по-другому?