GCD与NSOperation之间的区别
【GCD与NSOperation之间的区别】GCD:
将任务(block)添加到队列(串行/并发/主队列),并且指定任务执行的函数(同步/异步)
GCD是底层的C语言构成的API
iOS 4.0 推出的,针对多核处理器的并发技术
在队列中执行的是由 block 构成的任务,这是一个轻量级的数据结构
要停止已经加入 queue 的 block 需要写复杂的代码
需要通过 Barrier 或者同步任务设置任务之间的依赖关系
只能设置队列的优先级
高级功能:
一次性 once
延迟操作 after
调度组
NSOperation:
核心概念:把操作(异步)添加到队列(全局的并发队列)
OC 框架,更加面向对象,是对 GCD 的封装
iOS 2.0 推出的,苹果推出 GCD 之后,对 NSOperation 的底层全部重写
Operation作为一个对象,为我们提供了更多的选择
可以随时取消已经设定要准备执行的任务,已经执行的除外
可以跨队列设置操作的依赖关系
可以设置队列中每一个操作的优先级
高级功能:
最大操作并发数(GCD不好做)
继续/暂停/全部取消
跨队列设置操作的依赖关系
附:很好的demo链接 https://blog.csdn.net/sunnyboy9/article/details/19848031
推荐阅读
- 心理学三大势力与存在~(一)
- 【D010】太后与我(巴恪思)
- 表达赞赏与感谢-身体
- Python爬虫笔记|Python爬虫学习笔记_DAY_5_Python格式化输出与读入【Python爬虫】
- 孩子与老人
- Linux_drivers|基于linux的I2C驱动与调试(传统ID匹配方式)
- 【65】做一面镜子,照见自己与别人
- 【Linux入门第3天】-Linux入门之计算机与操作系统
- 5G时代即将开启,华为芯片与高通相比,差距有多大
- SpringBoot|SpringBoot 札记 (SpringSecurity入门与整合)