C'è qualche differenza tra i frammenti di codice seguenti. E allora?AsParallel.ForAll vs Parallel.ForEach
myList.AsParallel().ForAll(i => { /*DO SOMETHING*/ });
e
Parallel.ForEach(mylist, i => { /*DO SOMETHING*/ });
Sarà il filo conduttore di attesa per tutti i thread figlio per completare? In un'applicazione MVC, se eseguo l'elaborazione parallela nell'azione del mio controller, cosa succede ai thread secondari dopo il completamento del thread principale. Verranno abortiti o saranno completati anche dopo aver completato il thread principale?
Ti suggerisco di leggere: http://reedcopsey.com/2010/02/03/parallelism-in-net-part-8-plinqs-forall-method/ – Mir
Se fossi in te, vorrei aprire un'altra domanda per il tuo processo di elaborazione parallela MVC. – Pacane
Si prega di prestare attenzione a AsParallel(). ForAll() in quanto causa un risultato imprevedibile. Ad esempio, ho un pulsante per eseguire questo codice quando si fa clic: myEnumerable.AsParallel(). ForAll (i as string => otherDictionary.Add (i, 0)). Aggiungerà null come chiave per altroDictionary. Ho dovuto riscrivere per utilizzare il ciclo foreach. Strano. – YukiSakura