【发布时间】:2014-12-16 05:17:34
【问题描述】:
我有 2 个独立的 NSOperationQueues,其中两个不同的 Web 服务操作并行处理。对于这两个 Web 服务,超时间隔设置为 120 秒(2 分钟)。两个网络服务都在缓慢的互联网连接期间超时,但不是在指定的 120 秒间隔。
operationqueue1 中的 WebService1 在 10:27:29(hh:mm:ss) 开始,在 10:29:51 超时,即 142 秒。
operationqueue2 中的 WebService2 同时启动,即 10:27:29(hh:mm:ss) 并在 10:30:53 超时,即 205 秒。
预计两者都会以相同的 120 秒时间间隔超时,但这并没有发生。
每当为 NSMutableURLRequest 设置超时间隔时,超时都会有一些时间延迟。为什么会发生这种情况以及如何处理。 请在这里帮助我。
【问题讨论】:
-
操作队列很可能在异步线程上运行,这意味着操作系统可能不是每秒都在运行该线程。是否有特定原因需要将超时时间精确到 120 秒?
-
只是因为用户不想等待很长时间。那么有没有办法处理这种事情?
-
120 超时?我希望你有具体的原因,30 秒对于移动应用程序来说已经足够了。
-
是的,这是有原因的。该应用程序实际上用于移动网络而不是wifi,并且在大多数情况下,它用于网络连接速度较慢的区域,而且下载的数据也足够大。
-
那么任何人都可以让我知道如何处理两个异步并行 Web 服务的适当超时。
标签: ios objective-c nsmutableurlrequest