【发布时间】:2011-03-28 18:23:09
【问题描述】:
我有一个关于线程和后台工作人员的问题,希望您能提供帮助。
我计划制作一个 ftp 应用程序来将文件上传到 50 个服务器。而不是用户必须在下一个开始之前等待每次上传完成,我正在查看线程/后台工作人员。上传完成后,我想将上传“完成/失败”的状态报告回 UI。据我了解,我需要为此使用后台工作人员,以便我知道任务何时完成。我知道使用线程我可以使用生产者/消费者队列或信号量一次运行给定数量的线程,但我不太确定如何通过后台工作人员实现这一点。
所以我的问题是,控制上传一次运行的后台工作人员的合理数量是多少,将其余工作排队的最佳方式是什么?
上传文件的大小没有限制,因此可能非常小或最多几 MB。
提前致谢。
编辑 - 我为每台同时运行的服务器测试了一个后台工作程序。结果比单个后台工作人员更快,但我不能说我对一次运行 50 多个后台工作人员完全满意,而且由于将来服务器数量可能会增加,我决定只坚持一个,这似乎足够快。我将来可能会考虑将工人人数增加到 2 或 3 名,但目前 1 名似乎就足够了。感谢大家的帮助。
谢谢
【问题讨论】: