【发布时间】:2013-09-18 19:58:53
【问题描述】:
对不起,如果这是一个愚蠢的问题,但是可以创建一个后台工作人员数组吗?
我正在使用这篇文章中的示例: how-to-use-wpf-background-worker
我正在处理文档,并希望将每个文档放在自己的线程中。还是应该为每个文档使用相同的后台工作对象?
感谢任何见解。
【问题讨论】:
标签: c# wpf backgroundworker
对不起,如果这是一个愚蠢的问题,但是可以创建一个后台工作人员数组吗?
我正在使用这篇文章中的示例: how-to-use-wpf-background-worker
我正在处理文档,并希望将每个文档放在自己的线程中。还是应该为每个文档使用相同的后台工作对象?
感谢任何见解。
【问题讨论】:
标签: c# wpf backgroundworker
你可以这样做,但我觉得这是非常不可取的。任何时候您需要多个BackgroundWorker,您都应该开始考虑使用其他形式的线程。
有关替代方案,请查看 MSDN 上的 Task Class 和 Asynchronous Programming with Async and Await (C# and Visual Basic) 页面。
【讨论】:
你可以创建一个
List<BackgroundWorker> lstMyWorkers = new List<BackgroundWorker>();
列表数组没问题。但请注意。这些线程没有必要让事情变得更快。
运行过多的线程最终会比单个线程上的内联代码版本慢得多。
最佳点是 6 到 10 个并发线程。 10 个线程是因为您一次绝对需要这么多线程,这非常罕见。我在模拟软件上使用它,但除了那些我真的没有看到超过 2-3 次的使用。
我不知道如何做和不做的好文档或指南网页,但可能另一个堆垛机伙伴可能会为您提供一个不错的链接。
【讨论】: