Для заданного MaxDegreeOfParallelism и фиксированного количества объектов, которые необходимо обработать (т. е. выполнить на них определенный код), казалось бы, Parallel.ForEach и ActionBlock будут одинаково полезно.
Какие соображения следует учитывать при выборе одного варианта над другим?
Подробнее здесь: https://stackoverflow.com/questions/782 ... ctionblock