我有一种方法,我用不同的参数调用8次.
我用
我用
AvailableYears.AsParallel() .Select<Int32,DateUsedByThread>(x => GetDataForYearWorker(x,CIF)) .ToList();
GetDataForYearWorker从Webservice同步获取响应.它在我的asp.net应用程序上使用非常少的计算能力,但是对于每个webservice响应来说,它的使用时间需要3-5秒.因为对webservice的调用是独立于彼此的,所以我想同时做所有的.但是看起来只有2个线程可以同时运行.为什么会这样,怎么能同时有8个线程工作?
解决方法
默认情况下.AsParallel()将在运行查询的计算机上为每个核心启动一个线程.如果你想改变这个行为看看
WithDegreeOfParallelism.
AvailableYears.AsParallel().WithDegreeOfParallelism(5) .Select<Int32,CIF)) .ToList();