C#. Являются ли Parallel.Invoke и Parallel.ForEach по существу одним и тем же?

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

РЕДАКТИРОВАТЬ:Я должен был быть более ясным; я спрашиваю, делают ли эти два метода одно и то же, потому что, если это не так, я хотел бы понять, какой из них будет более эффективным.

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

Заранее большое спасибо!

18
задан Brad Gagne 3 June 2012 в 02:29
поделиться