如何在内部处理多个异步NSURLConnection

时间:2012-12-21 07:18:30

标签: objective-c ios nsurlconnection

我很想知道内部有多个异步NSURLConnection连接处理?我知道他们使用内部后台线程来运行它但是让我们说如果在代码中我同时创建两个异步NSURLConnection,这是否会在内部创建两个线程以在parllel或第二个连接中运行它们将等待第一个完成?简而言之,请确认多个异步NSURLConnection如何实现并发?

3 个答案:

答案 0 :(得分:0)

每个异步NSURLConnection在您启动连接后运行在它自己的线程上(必须在主线程上创建并启动async NSURLConnection!)并在主线程上调用它们的delegate和datadelegate方法。 / p>

答案 1 :(得分:0)

您可以将其用作“NSOperationQueue”并使用NSOperations执行请求的其他选项。有关详细信息,请参阅http://www.icodeblog.com/2012/10/19/tutorial-asynchronous-http-client-using-nsoperationqueue/

谢谢,
吉姆

答案 2 :(得分:0)

我猜它会并行运行。您可以查看有关网络编程的WWDC会话视频。

苹果工程师说逐个处理网址请求很昂贵,并行运行它们要合理得多。原因是,对于处理请求,实际上大部分时间花在延迟上,而不是设备和服务器中的逻辑处理。因此,并行处理请求将有效减少延迟的时间浪费。

所以我猜他们不会一个接一个地执行异步NSURLConnection,因为它与这个基本理论相矛盾。

此外,我尝试使用NSURLConnection下载图像Async。我发了一次请求。喜欢

for ( i = 1 to 4) {
    send request i 
 }

响应也不是顺序的。