【问题标题】:How can download single file by multithreading concept如何通过多线程概念下载单个文件
【发布时间】:2017-09-04 06:44:32
【问题描述】:

我有一个大的单个文件,但我想用 2 个并发线程下载这个文件,两个线程将逐块下载,并将相同的内容通过连接存储在本地文件中。

我不确定在 iOS 中是否可行。如果是,请告诉我如何实现。代码不是必需的。分享这个概念就可以了,但技术术语应该在 iOS 的上下文中。众所周知,NSURLSession 是 iOS 支持的 API。

【问题讨论】:

  • 为什么要下载同一个文件两次?
  • 你可以说这是一种要求.....我在看它是否可能......
  • 是的,但如果这是你的希望,它不会更快
  • 是的,这是可能的!您可以同时生成两个单独的请求!
  • @Lion - 你看到了吗will be stored in local files by concatenation

标签: ios multithreading nsurlsession


【解决方案1】:

您可以使用范围请求下载多个部分的单个文件。为此,您必须在请求中设置范围标头,例如。 g.: Range: bytes=200-1000 只会加载文件的 200 到 1000 字节,但是你应该检查你的服务器是否支持。

您可以使用addValue(_:forHTTPHeaderField:)addValue:forHTTPHeaderField: 分别在NSMutableRequest 中设置(范围)标题。如果您使用NSURLSession 发送请求,它们将自动并行执行。

【讨论】:

  • 更具体的......并给出结果...... :) 你知道为什么这很重要......使用 2 个单独的线程而不是一个线程会更好吗? ..???
  • 也许我是对的...如果一个线程需要 10 分钟来下载任务,但如果 2 个线程需要 5-5 分钟来下载任务,我们可以在 5 分钟内完成整个下载时间...谢谢 macmoonshine...
  • NSURLSession 将在后台执行请求。您不应该启动单独的线程。这应该没有必要。
  • 我认为总下载时间不会减半,因为它受限于总带宽。
猜你喜欢
  • 2013-09-07
  • 1970-01-01
  • 2018-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多