vb.net - 由多个后台 worker 处理的单个任务?

标签 vb.net multithreading backgroundworker

我有一个数组,它是文件夹中的文件列表,我正在处理这些文件并重命名它们。重新命名它们大约需要 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/

相关文章:

c# - 结合backgroundworker和multitread C#

sql-server - 连接断开时干净地关闭 SQL 连接

c# - 带有 lambda 表达式和匿名方法的 ThreadPool.QueueUserWorkItem

c++ - 如何实现不溢出的原子引用计数器?

c++ - 多线程设计以及撤消/重做堆栈

c# - 为什么我的异常在 wpf 应用程序中没有任何区别?

mysql - 将月总收入放入 vb.net 的图表中

vb.net - 如何在后台线程中运行代码并仍然访问UI?

c# - ASP.NET 页面不应在提交时回发整个页面

vb.net - 使用BackgroundWorker ProgressChanged 事件更新图表?