NSOperation 的优势和特点
2019-02-26 本文已影响0人
永远保持一颗进取心
1.添加任务依赖 2.任务执行状态的控制 3.控制最大并发量
一.添加任务依赖
可以通过 NSOperation 的 - (void)addDependency:(NSOperation *)op; 方法添加任务依赖。
要注意的是,如果 receiver 已经是执行状态,调用该方法没有任何效果;
二.任务执行状态的控制
有哪些状态?
- isReady 是否处于就绪状态
- isExecuting 是否处于执行状体
- isFinished 是否处于执行完成状态
- isCancelled 是否处于取消状态
怎么控制状态?
1.如果只是重写了 main 方法,状态由底层自动控制
2.如果重写了 start 方法,则需要自己控制执行状态。
系统怎么移除一个 isFinished=YES 的 NSOperation的?
通过KVO。
三.控制最大并发量
可以通过设置 NSOperationQueue 对象的 maxConcurrentOperationCount属性控制最大并发量。