- GCD
- 将
任务(block)
添加到队列(串行/并发/主队列),并且制定任务执行的函数(同步/异步) - GCD是底层的C语言构成的API
- iOS4.0推出的,针对多核处理器的并发技术
- 在对象中执行的是由
block
构成的任务,这是一个轻量级的数据结构 - 要停止已经加入
queue
的block
需要些赋值的代码 - 需要通过
Barrier
或者同步任务这是任务之间的依赖关系 - 只能设置队列的优先级
- 高级功能:
- 一次性once
- 延迟操作 after
- 调度组
- 将
- NSOperation
- 核心概念:把
异步操作
添加到全局的并发队列
- OC框架,更加面向对象,是对GCD的封装
- iOS2.0推出的,苹果推出GCD之后,对NSOperation的底层全部重写
-
Operation
作为一个对象,为我们提供了更多的选择 - 可以随时取消已经设定要这边执行的任务,已经执行的除外
- 可以跨队列设置操作的依赖关系
- 可以设置队列中每一个操作的优先级
- 高级功能:
- 最大并发数
- 继续/暂停/全部取消
- 跨队列设置操作的依赖关系
- 核心概念:把
网友评论