NSOpration

2019-02-28  本文已影响0人  买买提不撸串

NSOperation就是对GCD又封装了一下,底层还是GCD,它的使用方法是:将操作添加到队列就可以了,它是使用异步并发模式。

NSOperation 的核心概念:将"操作" 添加到 "队列"

 GCD  将"任务"添加到 "队列"

特点:

 - 不能直接使用!

 目的:

 - 定义子类共有的属性和方法

 子类:

 NSInvocationOperation

 NSBlockOperation

GCD & NSOperation 对比

 GCD 在 iOS 4.0 推出,主要针对多核处理器做了优化的并发技术,是C语言的

    - 将"任务"[block]添加到 队列[串行/并发/主队列/全局队列] ,并且指定执行任务的函数[同步/异步]

    - 线程间的通讯  dispatch_get_main_queue()

    - 提供了一些 NSOperation 不具备的功能

        - 一次执行

        - 延迟执行

        - 调度组(在op中也可以做到,有点麻烦)

 NSOperation 在 iOS 2.0 推出的,苹果推出 GCD以后,对NSOperation 底层做了重写!

    - 将操作[异步执行的任务] 添加到队列[并发队列],就会立刻异步执行

    - mainQueue

    - 提供了一些GCD 实现起来比较困难的功能

        - 最大并发线程

        - 队列的暂停/继续

        - 取消所有操作

        - 指定操作之间的依赖关系(GCD 用同步来实现)

上一篇 下一篇

猜你喜欢

热点阅读