NSOperationQueue和NSURLSession有什么区别?

时间:2016-03-15 07:33:31

标签: ios objective-c

NSURLSessionNSOperationQueue之间的区别是什么? 我们可以在NSURLSessionNSOperationQueue中做同样的事情吗?

实际上两者都是用于后台任务。所以我怀疑:这两者之间有什么区别?NSURLSessionNSOperationQueue有哪些优缺点?

2 个答案:

答案 0 :(得分:3)

虽然NSOperationQueue是用于任意计算目的的队列(您可以将其中任何一种工作 - 例如图像处理)和线程管理,NSURLSession提供了一个易于使用的队列使用URL连接接口(上传数据和下载数据)。

因此,使用NSOperationQueue,您可以使用NSURLSession执行所有操作,因为使用后台队列启动同步URL连接(除NSURLSession之外的配置开销我应该照顾你们。逻辑上一样。

但是,相反的情况并非如此; NSURLSession对任意网络(例如原始TCP)或任何非网络相关任务都没有用。

任何简单的过度抽象,您可能希望将NSURLSession视为一个非常具体的操作队列,它只允许与URL相关的操作。

答案 1 :(得分:2)

NSURLSessionNSOperationQueue

之间有很多不同

NSURLSession: - 用于在后台调用Web服务。可以在NSURLSession

中管理所有进行webservice调用的操作

NSOperationQueue: - 用于在不同线程的后台执行任何任务。您可以在后台线程中执行任何类型的任务(UI操作)。在Operation Queue中,您可以使用依赖关系创建依赖任务,以便任务按某种顺序执行。