我有一个介于0和255之间的921600个数字的数组。
我需要检查每个数字是否超过阈值。
是否可以同时检查数组的上半部分和下半部分,以减少运行时间?
我的意思是,是否可以并行运行以下两个for循环?
for(int i = 0; i < 921600 / 2; i++)
{
if(arr[i] > 240) counter++;
}
for(int j = 921600 / 2; j < 921600; j++)
{
if(arr[j] > 240) counter++;
}
提前谢谢你!
最佳答案
我建议对此使用并行linq(plinq)
int[] source = ...
int count = source
.AsParallel() // comment this out if you want sequential version
.Count(item => item > 240);