NSOperationQueue 和 GCD的类似和区别

  1. GCD是纯C语言的API,NSOperationQueue是基于GCD的OC版本封装。

  2. GCD只支持FIFO的队列,NSOperationQueue可以很方便的调整执行顺序,设置最大并发数量

  3. NSOperationQueue可以在轻松在Operation间设置依赖关系,而GCD需要写很多的代码才能实现

  4. NSOperationQueue支持KVO,可以监测operation是否正在执行(isExecuted).是否结束(isFinished).是否取消(isCanceld)

  5. GCD的执行速度比NSOperationQueue快


如果任务之间不太互相依赖,那么我们可以优先使用GCD

如果任务之间有依赖 或者要监听任务的执行情况,那么我们可以优先使用NSOperationQueue

转载于:https://my.oschina.net/u/2611165/blog/619630

你可能感兴趣的:(NSOperationQueue 和 GCD的类似和区别)