NSOperation Queue相对于GCD的优势

        NSOperationQueue本质上是对GCD的封装,但提供了更强的任务依赖关系管理能力,允许更加灵活的定义任务间的执行顺序。

       其相对于GCD的主要优势包括:

        1. 可以通过NSOperationQueue的属性设置任务并发数

        2. 可以通过NSOperation的addDependicy或removeOperation方法添加或移除依赖(gcd也可通过dispatch_group设置依赖,但没有移除依赖的方法)。

        3. 可以通过重写方法(isReady, isExcuesed、isCanceled, isFinished)实现任务执行状态的自定义控制。

        注意:

        若只重写NSOperation的main方法,由系统控制任务状态;若重写了start方法,则需要自定义任务状态。系统默认通过KVO监控对应属性的值的变化,在状态为Finished后,对相关内存进行回收。

        NSOperation Queue中任务开始顺序(即main或start方法执行顺序)是顺序执行的,但由于任务在不同线程中执行, 结束顺序无法确定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值