GCD 是将任务添加到队列中(串行 / 并发 / 主队列),并且制定任务执行的函数(同步 / 异步),其性能最好,底层是 C 语言的 API,也更轻量级。iOS4.0 以后推出的,针对多核处理器的并发技术,只能设置某一个队列的优先级,其高级功能有一次性执行 dispatch_once,延迟操作 dispatch_after,调度组等等; NSOperation 把操作(异步)添加到队列中(全局的并发队列),是 OC 框架,更加面向对象,是对 GCD 的封装,iOS2.0 推出,苹果推出 GCD 之后,对 NSOperation 的底层全部重写,可以随时取消已经设定准备要执行的任务,已经执行的除外,可以设置队列中每一个操作的优先级,其高级功能可以设置最大操作并发数,继续 / 暂停 / 全部取消,可以快队列设置操作的依赖关系。