NSURLSession
和NSOperationQueue
之间的区别是什么?
我们可以在NSURLSession
和NSOperationQueue
中做同样的事情吗?
实际上两者都是用于后台任务。所以我怀疑:这两者之间有什么区别?NSURLSession
和NSOperationQueue
有哪些优缺点?
答案 0 :(得分:3)
虽然NSOperationQueue
是用于任意计算目的的队列(您可以将其中任何一种工作 - 例如图像处理)和线程管理,NSURLSession
提供了一个易于使用的队列使用URL连接接口(上传数据和下载数据)。
因此,使用NSOperationQueue
,您可以使用NSURLSession
执行所有操作,因为使用后台队列启动同步URL连接(除NSURLSession
之外的配置开销我应该照顾你们。逻辑上一样。
NSURLSession
对任意网络(例如原始TCP)或任何非网络相关任务都没有用。
任何简单的过度抽象,您可能希望将NSURLSession
视为一个非常具体的操作队列,它只允许与URL相关的操作。
答案 1 :(得分:2)
NSURLSession
和NSOperationQueue
NSURLSession
: - 用于在后台调用Web服务。可以在NSURLSession
NSOperationQueue
: - 用于在不同线程的后台执行任何任务。您可以在后台线程中执行任何类型的任务(UI操作)。在Operation Queue中,您可以使用依赖关系创建依赖任务,以便任务按某种顺序执行。