在ASP.NET中使用Parallel.ForEach会阻止其他线程处理请求吗?

时间:2012-09-24 14:38:52

标签: asp.net parallel-extensions parallel.foreach

我正在考虑在ASP.NET应用程序中使用一些PLINQ来增加我们所拥有的一些I / O绑定和计算绑定处理的吞吐量(例如,迭代用于Web服务调用的集合并计算一些地理坐标距离)。

我的问题是:我应该担心像Parallel.ForEach这样的运行操作会使线程远离处理其他请求,还是使用单独的线程池(我听说过I / O完成的事情)端口,但不确定如何参与讨论)?

1 个答案:

答案 0 :(得分:1)

Parallel.ForEach最多只能use one thread for as many cores as you have。线程池默认最大大小为250 times the number of cores you have。所以你必须真正尝试用尽可用的线程。