首页 > 解决方案 > 在 C# 中使用 Parallel.Foreach 时,我们可以控制 CPU 使用率吗?

问题描述

我想使用 处理数千条记录Parallel.Foreach,但 CPU 使用率为 100%。

Parallel.ForEach(PhotoPaths, new ParallelOptions { MaxDegreeOfParallelism = 10 }, photopath =>
{
    RemovePhoto(photo);
});

public void RemovePhoto(string photopath)
{
    File.Delete(photopath); 
} 

如果我使用MaxDegreeOfParallelism = 2,我的操作就会超时。

对于正常的 foreach 循环,它会超时,所以我选择Parallel.Foreach了我的任务正在完成,但唯一的问题是 CPU 利用率为 100%。如果我们有任何替代方案,请告诉我。

标签: c#parallel-processingcpu-usageparallel.foreach

解决方案


推荐阅读