我有一个数组,它是文件夹中的文件列表,我正在处理这些文件并重命名它们。重新命名它们大约需要 15 分钟,每天都会这样做。我目前有 1 个后台 worker 来处理这个问题并更新 UI。
我的问题是:如何使用超过 1 个后台工作程序来使用超过 25% 的 CPU 来执行此操作?
将数组分成 3 部分并调用 3 个独立的工作人员来完成他们的部分?
最佳答案
如果您使用 .NET 4.0,那么您可以使用并行扩展,它将有效地为您完成此操作 - 您只需调用
Parallel.ForEach(files, file =>
{
// Call file processor here
});
请注意,如果您的任务严重依赖 IO,那么使用多个线程可能会减慢速度而不是加快速度。
关于vb.net - 由多个后台 worker 处理的单个任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3105839/