在项目什么时候选择使用GCD,什么时候选择NSOperation

NSOperation 的优势

  • 控制并发数
  • 任务见的依赖关系
  • 可取消、暂停、恢复等
  • 状态的支持

GCD的优势

  • 系统级别的调度,效率高
  • 基于block的使用,更加直观。

从上面可以看出,如果你对任务的过程需要高度的可控,NSOperation是个很好的选择,但也很明显,需要写更多的代码。

从设计模式上来看,NSOperation 更加面向对象,有很好的封装、复用。是多线程的抽象,完成了很多GCD很难完成的操作。应该是多线程编程的第一选择。

GCD面向过程,代码更简洁。

NSOperation vs Grand Central Dispatch

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,795评论 8 265
  • Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么? 1...
    AlanGe阅读 5,773评论 0 17
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,791评论 1 32
  • 目录 一、基本概念1.多线程2.串行和并行, 并发3.队列与任务4.同步与异步5.线程状态6.多线程方案 二、GC...
    BohrIsLay阅读 5,489评论 5 12
  • 蛊 相思 第一章 这几日总会梦到陌...
    颜卿酒儿阅读 1,547评论 0 0