简单来说可以分为以下几点:
1.GCD是C语言的API;而NSOperationQueue是对GCD的OC版的封装.
2.设置优先级上的不同:
GCD只能支持FIFO队列,只能设置队列的优先级;而NSOperationQueue中的每一个任务都可以设置优先级.
3.设置依赖关系的区别:
GCD不可以设置依赖关系;而NSOperationQueue可以设置operation之间的依赖关系,从而根据依赖关系正确的执行Queue中的operation
4.NSOperationQueue可以支持KVO可以监听任务的状态属性;而GCD不可以
5.NSOperationQueue可以停止执行队列中的任务;但是GCD不行
6.GCD的速度要比NSOperationQueue的速度快