我有多表GUI应用程序。每个表都填充了自己的BackgroundWorker实例的帮助。但现在我需要渲染一个表,从不同的慢速远程源获取行。因此,每一行都应该在收到后立即显示为平行。
我看到两种方式:
哪个更正确?
答案 0 :(得分:0)
假设它就像我的情况一样,我的源代码主要是第三方,并且无法控制和分割不同的格式(Web服务,WCF,本地非托管DLL,.Net DLL,Java服务和Excel)只是为了填充单个列表。
无论如何在我的情况下我使用了7名工人。 第一个列出所有来源,现在我有40个来源。
然后,工作人员启动最多6个其他工作人员,每个工作者有1个源,并更新进度异步。一旦一个工人完成主工作人员,就用下一个列表开始一个新工作,依此类推。
我注意到在我的情况下超过6我的性能会降低,但这取决于您的架构和源类型。如果我通过网络访问的资源较少,我可以增加,但带宽会减慢。