- GCD 是基于C语言实现的,NSOperationQueue是基于GCD C语言的面向对象封装。 - GCD 只支持 FIFO 队列,NSOperationQueue 可以方便设置操作优先级,设置最大的并发数量。任务依赖等操作。 - NSOperationQueue 支持 KVO,可以检测 操作是否正在执行(isExecuted),是否结束(isFinished),是否取消(isCanceled) - GCD执行效率高于NSOperationQueue - GCD 适用于场景简单任务之间不太相互依赖的情况下,而NSOperationQueue适用于任务之间有依赖或要监听任务的执行情况,任务有优先顺序的情况。