NSOperation和GCD的区别
2018-03-12 本文已影响0人
Kx_
1、GCD底层是c写的系统服务,执行和操作都简单高效,NSOperation是GCD的封装
2、依赖关系,NSOpeartion可以通过addDependency
来添加任务的依赖,GCD需要添加依赖只能通过dispatch_barrier_async
3、优先级问题,NSOpeartion可以设置queuePriority来设置优先级,跳转任务的执行先后顺序,GCD只能设置队列的优先级,且任务是根据先进先出FIFO的原则来执行的,不能设置任务的优先级。
4、自定义,可以继承NSOpeation自定义子类重写main方法来实现相关功能,GCD没有继承这种说法
5、最大任务数,NSOperation可以设置最大任务数,
6、简单高效:GCD更为简单高效,NSOperation开销会更大一点
7、NSOperation可以设置暂停,挂起等操作。