【发布时间】:2017-11-14 05:13:29
【问题描述】:
我想为不同的http requests 设置不同的优先级,如果我有High 优先级的请求,我希望能够立即停止/暂停一些请求并仅执行其中一些请求。我打算使用不同的方法,但现在似乎所有这些方法都已弃用:
1) 使用AFHTTPRequestOperation,因此我可以在DispatchQueue 的基础上创建不同的OperationQueue 并在那里添加操作,但它在AFNetworking 的新版本中已被弃用
2) 为不同的同步请求使用具有不同优先级的不同 DispatchQueues(使用NSURLConnection.sendSynchronousRequest)(这样,如果我有最高优先级的操作,我可以停止一些队列,我可以立即取消操作)。但据Stackoverflow Question 了解,这种方式已被弃用,因此我无法发送同步请求。
我知道在某些情况下,使用信号量的请求似乎是同步的,但这只是一种错觉,因为所有请求都将在我无法控制的队列中执行。
有什么方法可以控制执行请求的DispatchQueue(或OperationQueue)吗?
【问题讨论】:
标签: ios afnetworking grand-central-dispatch nsurlsession nsoperationqueue