【发布时间】:2010-06-23 04:45:27
【问题描述】:
我在从单个服务器下载 5 个不同文件时遇到问题。是否可以通过 5 个单独的线程从该服务器下载所有 5 个文件?如果是,那比通过单线程一个接一个地下载每个文件效率高吗?
【问题讨论】:
标签: iphone multithreading networking iphone-sdk-3.0
我在从单个服务器下载 5 个不同文件时遇到问题。是否可以通过 5 个单独的线程从该服务器下载所有 5 个文件?如果是,那比通过单线程一个接一个地下载每个文件效率高吗?
【问题讨论】:
标签: iphone multithreading networking iphone-sdk-3.0
通过单独的线程下载文件总是更有效。如果您通过主线程下载它们,这只会阻塞主线程,并且在下载过程中您的应用程序似乎已经冻结了片刻。我建议,如果您要下载大量文件,请查看MBProgressHUD library,这是向您的用户传达下载进度的绝佳方式。
【讨论】:
假设您此时正在从辅助线程下载:
是的。 5 个并发下载很好,最终可以减少完成所有 5 个请求所需的时间(在实践中)。但是,您应该将并发下载的数量保持在相对较低的水平——不要尝试同时运行 30 个,而是创建一个队列。
优先考虑您的下载也是很好的,并在您需要以更高优先级下载的内容时添加暂停。
【讨论】: