c# - 在 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%。如果我们有任何替代方案,请告诉我。
解决方案
推荐阅读
- vue.js - 使用 laravel-mix 构建 SCSS 设置
- azure-devops - 批处理文件如何设置构建任务错误?
- python - 最大长度和每个元素最大重复值的组合
- pysimplegui - PySimpleGUI:列/帧的索引
- javascript - 在 Shiny 中使用 `waiter` 包会导致带有 `DT` 对象的 JS 错误
- php - 带有 Join 的 Laravel Querybuilder 方法未在 laravel 中调用访问器
- plot - 绘制 StyleGan2 模型损失
- github - 文件没有出现在 github 上
- azure-pipelines-yaml - 您是否可以手动运行使用多个 repo 触发器的 azure ADO 管道,就好像另一个 repo 是触发 repo 一样?
- java - REST 服务的 Swagger 描述