一次将作业分配给BackgroundWorker线程

dev*_*ull 1 .net c# silverlight backgroundworker

我的silverlight应用程序从webservice(async)获取文件集.webservice方法接受文件名数组并返回文件集(也作为数组).silverlight客户端对文件集提出了几个这样的请求.

客户端立即向Web服务发出许多请求.我需要一个 BackgroundWorker线程在客户端处理接收到的文件集 一前一后.

如何在收到所有文件集时收集它们,并将这些集合BackgroundWorker一次一个地提供给线程.

编辑:我无法运行多个BackgorundWorkers,因为文件集处理模块不是线程安全的.

Yah*_*hia 5

使用BlockingCollection/ ConcurrentQueue来保存有关要处理的文件集的信息...在后台工作器中你只需要while循环下一个文件集并对其进行处理...所提到的集合是线程安全的,而且非常快,因为大多数操作都是无锁实现的...