objective-c – Cocoa:使用相同的委托函数检查多个异步NSURLConnections所需的?

这是参考StackOverflow问题 Managing multiple asynchronous NSURLConnection connections

我同时有多个异步HTTP请求.所有这些使用相同的NSURLConnection委托功能. (接收的数据对象对于上面另一个问题中指定的每个连接是不同的,在委托中,我解析receivedDate对象,并对这些解析的字符串执行其他操作)

到目前为止,一切都适用于我,但我不知道我是否需要做任何事情来确保正确的“多线程”行为.

>两个以上的连接是否可能同时使用代理? (我会认为是的)
>如果是,它如何解决? (Cocoa可以自动执行吗?)
>我是否需要额外的支票,以确保每个请求被正确处理?

解决方法

假设您在单个线程上启动所有(异步)连接,则代理消息将全部发布在该线程的运行循环中.因此,代表只需要处理一个正在处理的消息;运行循环将一次关闭一个消息.这意味着虽然委托消息的顺序是未知的,下一个消息可能来自任何连接对象,但是不会同时执行委托方法.

但是,您是否真的试图在多个线程中使用相同的委托对象,而不仅仅是使用API​​的异步性质,那么您需要处理并发代理方法.

相关文章

对象的传值与返回说起函数,就不免要谈谈函数的参数和返回值...
从实现装饰者模式中思考C++指针和引用的选择最近在看...
关于vtordisp知多少?我相信不少人看到这篇文章,多半是来自...
那些陌生的C++关键字学过程序语言的人相信对关键字并...
命令行下的树形打印最近在处理代码分析问题时,需要将代码的...
虚函数与虚继承寻踪封装、继承、多态是面向对象语言的三大特...