NSOperationQueue 本质上是GCD的全局队列,并发队列。
NSOperation 操作是异步任务。
只要将操作添加到队列就会立即执行。
同一队列可以添加不同operation - NSBlockOperation、NSInvocationOperation。
GCD:将任务(同步/异步)添加到队列(串行/并行/主队列/全局队列)
- 需要各种排列组合,而且一不小心还会死锁
- GCD有很多NSOperation不具有的功能,如:群组调度(group)、一次性执行(once)、延迟执行
- GCD的底层功能非常的庞大
NSOperation:将任务添加到自定义队列=并发队列异步执行
- 将任务添加到主队列=主队列异步执行
- 简单、安全
- 提供了GCD不好实现的功能,如:控制最大并发线程数量,指定任务之间的依赖关系,取消暂停队列调度