GCD和NSPoeration的区别


  • GCD
    • 任务(block)添加到队列(串行/并发/主队列),并且制定任务执行的函数(同步/异步)
    • GCD是底层的C语言构成的API
    • iOS4.0推出的,针对多核处理器的并发技术
    • 在对象中执行的是由block构成的任务,这是一个轻量级的数据结构
    • 要停止已经加入queueblock需要些赋值的代码
    • 需要通过Barrier或者同步任务这是任务之间的依赖关系
    • 只能设置队列的优先级
    • 高级功能:
      • 一次性once
      • 延迟操作 after
      • 调度组

  • NSOperation
    • 核心概念:把异步操作添加到全局的并发队列
    • OC框架,更加面向对象,是对GCD的封装
    • iOS2.0推出的,苹果推出GCD之后,对NSOperation的底层全部重写
    • Operation作为一个对象,为我们提供了更多的选择
    • 可以随时取消已经设定要这边执行的任务,已经执行的除外
    • 可以跨队列设置操作的依赖关系
    • 可以设置队列中每一个操作的优先级
    • 高级功能:
      • 最大并发数
      • 继续/暂停/全部取消
      • 跨队列设置操作的依赖关系
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容