NSOperation 的优势和特点

1.添加任务依赖 2.任务执行状态的控制 3.控制最大并发量

一.添加任务依赖

可以通过 NSOperation- (void)addDependency:(NSOperation *)op; 方法添加任务依赖。
要注意的是,如果 receiver 已经是执行状态,调用该方法没有任何效果;

二.任务执行状态的控制

有哪些状态?

  • isReady 是否处于就绪状态
  • isExecuting 是否处于执行状体
  • isFinished 是否处于执行完成状态
  • isCancelled 是否处于取消状态

怎么控制状态?

1.如果只是重写了 main 方法,状态由底层自动控制
2.如果重写了 start 方法,则需要自己控制执行状态。

系统怎么移除一个 isFinished=YES 的 NSOperation的?
通过KVO。

三.控制最大并发量

可以通过设置 NSOperationQueue 对象的 maxConcurrentOperationCount属性控制最大并发量。

你可能感兴趣的:(NSOperation 的优势和特点)