AFNetworking:调度并发队列并在其中运行同步任务

Posted

技术标签:

【中文标题】AFNetworking:调度并发队列并在其中运行同步任务【英文标题】:AFNetworking: Dispatching a concurrent queue and running synchronous tasks within that 【发布时间】:2012-08-08 13:53:46 【问题描述】:

我正在开发的应用程序中使用AFNetworking。对于下载请求,我使用AFHTTPRequestOperationsetCompletionBlockWithSuccess:failure。这会将成功块和失败块与operation 联系起来,然后使用addOperation 将操作添加到NSOperationQueue

AFNetworking 创建一个异步线程并在那里运行所有数据。但是,我想将三个操作添加到并发线程中,从而使它们同步运行。在 GCD 中也称为 serial queue。我怎样才能在AFNetworking 中实现这一点?我应该创建自己的串行队列,然后在该队列中addOperation,移动所有请求初始化、成功块、失败块并添加到串行队列下吗?

【问题讨论】:

【参考方案1】:

NSOperationQueue maxConcurrentOperationCount 属性设置为 1 会有效地创建一个串行队列。然后,您可以确保每个请求都会在触发下一个操作之前完成。

【讨论】:

以上是关于AFNetworking:调度并发队列并在其中运行同步任务的主要内容,如果未能解决你的问题,请参考以下文章

AFNetworking 2.0 和单元测试

队列讲解

将调度障碍 (GCD) 添加到自定义队列但不添加到全局并发队列

Livewire 队列作业调度 afterRespone() 不起作用

为啥 AFNetworking POST 多部分请求必须在主队列上同步运行?

ios多线程操作—— GCD串行队列与并发队列