首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应该使用多线程来下载大量的映像吗?

应该使用多线程来下载大量的映像吗?
EN

Stack Overflow用户
提问于 2013-11-03 06:53:25
回答 1查看 286关注 0票数 0

我想下载几张图片(至少100,000张)。我有这些图片的网址。

我应该使用多线程下载这些映像吗?那会有什么大的好处吗?

我有一个带有URL的文本文件,指向这些100,1000张图片。我想我将创建100个线程,并为每个线程分配1000个Urls。

那能帮我更快地下载这些东西吗?在这一点上,什么时候适合使用多线程?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-03 07:57:30

我认为您的下载将更快,当使用多线程时,您计划这样做。这是因为在下载过程中,资源(CPU、网络等)会出现很短的延迟。不用了。其他线程可以填补这些空白,以充分利用您的资源。注意,在您的情况下,瓶颈可能是您下载的服务器形式。如果它是单个的,那么它可能会限制每个客户端并发下载的数量。您可能需要改变线程的数量,以找到最优的线程数。

从资源使用时间间隔的角度来看,多线程一般适用于对涉及时间的多路资源(CPU、网络、硬盘等)造成资源使用延迟的进程(“瓶颈”)。然而,多线程的代价是

  • 额外的资源管理,如果过多的线程被使用,这将过度补偿利益,也就是说,对于任何给定的资源设置都有一个最佳的加速。
  • 线程安全编程的额外复杂性--并最终防止资源的临时过度使用(“流量阻塞”)。由于这种复杂性的增加,如果您将多线程视为优化,那么只在必要时才使用它。记住“过早优化是万恶之源”--唐纳德·克努斯
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19750558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档