Wpf背景工作者阵列

时间:2013-09-18 11:43:04

标签: c# wpf backgroundworker

很抱歉,如果这是一个愚蠢的问题,但可以创建一个后台工作者数组吗?

我正在使用这篇文章的例子: how-to-use-wpf-background-worker

我正在进行文档处理,并希望将每个文档放在自己的线程中。或者我应该为每个文档使用相同的后台工作者对象吗?

有任何洞察力。

2 个答案:

答案 0 :(得分:3)

可以这样做,但我觉得这是非常不可取的。只要您需要多个BackgroundWorker,就应该开始考虑使用其他形式的线程。

有关替代方案,请查看MSDN上的Task ClassAsynchronous Programming with Async and Await (C# and Visual Basic)页面。

答案 1 :(得分:2)

您可以创建

List<BackgroundWorker> lstMyWorkers = new List<BackgroundWorker>(); 

列表数组没问题。但要注意。那些线程没有必要加快速度。

运行太多线程最终会比单线程上的内联代码版本慢得多。

甜蜜点是6到10个同步线程。 10个线程是因为你一次非常需要这么多,这是非常罕见的。我在模拟软件的工作中使用它,但除了那些我还没有看到超过2-3的用途。

我不知道做好的文档或指南网页,但是可能不会,但可能是另一个堆叠器可能有一个很好的链接。