Dha*_*wal 33 c# parallel-processing task-parallel-library
以下代码片段之间是否有任何区别?如果是这样,什么?
myList.AsParallel().ForAll(i => { /*DO SOMETHING*/ });
和
Parallel.ForEach(mylist, i => { /*DO SOMETHING*/ });
主线程是否会等待所有子线程完成?在MVC应用程序中,如果我在控制器操作中进行并行处理,主线程完成后子线程会发生什么.他们会被中止还是会在主线完成后完成?
svi*_*ick 22
Parallel.ForEach() 适用于这种代码.
另一方面,ForAll()旨在用于(可能复杂的)PLINQ查询的末尾.
因此,我认为这Parallel.ForEach()是更好的选择.
在这两种情况下,当前线程将用于执行计算(以及来自线程池的一些线程),并且该方法仅在所有处理完成后才返回.