ParallelOptions.MaxDegreeOfParallelism
有什么区别和 ParallelOptions.TaskScheduler.MaximumConcurrencyLevel
?你什么时候用?
最佳答案
使用反射器,我收集到两者都用于 EffectiveMaxConcurrencyLevel
属性(property):
internal int EffectiveMaxConcurrencyLevel
{
get
{
int maxDegreeOfParallelism = this.MaxDegreeOfParallelism;
int maximumConcurrencyLevel = this.EffectiveTaskScheduler.MaximumConcurrencyLevel;
if ((maximumConcurrencyLevel > 0) && (maximumConcurrencyLevel != 0x7fffffff))
{
maxDegreeOfParallelism = (maxDegreeOfParallelism == -1) ? maximumConcurrencyLevel : Math.Min(maximumConcurrencyLevel, maxDegreeOfParallelism);
}
return maxDegreeOfParallelism;
}
}
关于.net-4.0 - TPL - MaxDegreeOfParallelism 和 MaximumConcurrencyLevel 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5235613/