iOS GCD 与 NSOperationQueue对比

  • NSOperationQueue 是在GCD基础上实现的,只不过是GCD更高一层的抽象。
  • GCD 只支持FIFO 的队列, 而NSOperationQueue能够调整队列的执行顺序。(经过调整权重)
  • NSOperationQueue能够在Operation间设置依赖关系,而GCD不能够。 若是一个Operation依赖另外一个Operation所产生的数据的化,你能够设置一个Operation依赖于另外一个Operation来实现, NSOperationQueue能够根据依赖关系,能够以正确的顺序执行Queue中的Operation。
  • NSOperationQueue支持KVO。 这就意味着你能够观察任务的状态属性。

以上几点并非说在任何处理多任务时必定要选择NSOperationQueue, 由于NSOperationQueue在执行速度上会比GCD慢。 队列

相关文章
相关标签/搜索