Parallel.ForEach vs Task.Factory.StartNew
¿Cuál es la diferencia entre los fragmentos de código a continuación? ¿No usarán ambos hilos de threadpool?
Por ejemplo, si quiero llamar a una función para cada elemento de una colección,
Parallel.ForEach<Item>(items, item => DoSomething(item));
vs
foreach(var item in items)
{
Task.Factory.StartNew(() => DoSomething(item));
}