Parallel.ForEach全局设置MaxDegreeOfParallelism

时间:2011-08-26 21:40:23

标签: asp.net c#-4.0 task-parallel-library

假设我有一种情况我真的想使用Parallel.ForEach而不是常规的foreach循环,因为它的性能更高(而且更酷),但让.NET确定程度对我而言,并行性导致了灾难性的后果。

现在说我已经发现了我需要放在ParallelOptions.MaxDegreeOfParallelism参数中的神奇数字,这样我的应用程序就会非常好吃而且不会超级美味。

每次调用ParallelOptions(或其任何其他衍生物)时,都不记得要记住包含带有幻数的Parallel.ForEach参数,是否有任何方法可以指定并行度web.config级别?或者其他一些方法,可以全局和不可见地设置值,这样我就不必依赖自己和其他开发人员的记忆,只要我们想要获得并行的好处?

2 个答案:

答案 0 :(得分:1)

您可以创建自己的包装函数,调用Parallel.Foreach从配置文件或常量中读取度数。

答案 1 :(得分:1)

简短的回答是“否”,您无法使用配置文件配置此参数,但是您仍然可以拥有一个所有调用都可以引用的const变量。