C # - Parallel.Invoke и Parallel.ForEach по сути одно и то же?

И "тем же самым" Я имею в виду, выполняют ли эти две операции одну и ту же работу, и все сводится к тому, какую из них более удобно вызывать, исходя из того, с чем вам приходится работать? (т. е. список делегатов или список вещей для повторения)? Я искал в MSDN, StackOverflow и в различных случайных статьях, но пока не нашел четкого ответа на этот вопрос.

EDIT: I should have been clearer; I am asking if the two methods do the same thing because if they do not, I would like to understand which would be more efficient.

Пример: у меня есть список из 500 ключевых значений. В настоящее время я использую цикл foreach, который перебирает список (последовательно) и выполняет работу для каждого элемента. Если я хочу использовать преимущества нескольких ядер, должен ли я вместо этого просто использовать Parallel.ForEach? скажем, ради аргументов, что у меня был массив из 500 делегатов для этих 500 задач - будет ли чистый эффект вызова Parallel.Invoke и выдачи ему списка из 500 делегатов?

Спасибо заранее!

Ответы на вопрос(3)

Ваш ответ на вопрос