【发布时间】:2014-10-24 21:36:19
【问题描述】:
Parallel.ForEach 在 ThreadPool 上工作,默认情况下,TPL 设置线程数,以便根据一些内部规则实现最高性能。但是.Net 是否考虑并行或嵌套的“Parallel.Foreach”调用? 例如,假设 .Net 决定对于当前环境 10 线程是最佳选择,我们有:
Parallel.ForEach(collection1, (o1) => {Parallel.ForEach(collection2, (o2) => {...}})
它会产生 10*10 个线程吗?
我现在发现的article 让我觉得线程调度的“内部规则”是如此先进和动态,以至于它可以合理地处理所描述的情况。
【问题讨论】:
标签: c# .net task-parallel-library