ios多线程操作(九)—— 用NSOperation代替GCD
来源:互联网 发布:怎么认识外国妹子软件 编辑:程序博客网 时间:2024/06/04 18:48
NSOperation是另外一个“并发技术”,它可以使开发者在不用关心线程的情况下进行多线程操作!!!
NSOperation的底层是用GCD进行封装,但并不是说NSOperation功能就没有GCD强大,相反,NSOperation的一些高级功能在GCD上不好做,但同样地GCD上的一些高级功能在NSOperation上也不好做,现在来看一下NSOperation和GCD的对比!
NSOperation
* 核心概念:把"操作(异步)"添加到队列(全局的并发队列)!
* 主队列 为mainQueue
* OC 的框架,更加面向对象
* 是对 GCD 的封装
* iOS 2.0 推出的,苹果在推出 GCD 之后,对 NSOperation 的底层全部重写了!
* 高级功能:
1、最大操作并发数(GCD不好做)
2、在 iOS 7.0 之前,使用 GCD 和 NSOperation 能够开启的线程数都不多,5~6条
3、从 iOS 8.0 开始,NSOperation能够开很多个线程,如果不控制,会造成资源浪费
4、具备继续,暂停,全部取消功能
5、设置操作之间的依赖关系(GCD中,同步任务是来指定依赖关系!)
GCD
* 将"任务(block)"添加到队列(串行/并发/主队列),并且指定任务执行的函数(同步/异步)
* C 语言的框架,dispatch_xxx 函数
* iOS 4.0 推出的,针对多核处理器的并发技术
* 高级功能:
1、一次性 dispatch_once_t
2、延迟操作 after
3、调度组 (op 可以做,但是做不了太复杂)
相信看完NSOperation和GCD的对比,每个人对多线程操作的都会有自己的看法和选择!
0 0
- ios多线程操作(九)—— 用NSOperation代替GCD
- ios多线程操作(九)—— 用NSOperation代替GCD
- ios多线程操作(十)—— 用NSOperation开启多线程操作
- ios多线程操作(十)—— 用NSOperation开启多线程操作
- iOS —— NSThread、NSOperation、GCD多线程的优缺点
- iOS多线程编程——GCD与NSOperation总结
- iOS多线程编程——GCD与NSOperation总结
- iOS多线程编程——GCD与NSOperation总结
- iOS多线程编程——GCD与NSOperation总结
- iOS 多线程NSThread、NSOperation、GCD
- iOS多线程NSThread/NSOperation/GCD
- IOS多线程(NSThread,NSOperation,GCD)
- iOS 多线程NSThread-NSOperation-GCD
- iOS多线程 GCD NSoperation NSThread
- iOS多线程(NSThread、NSOperation、GCD)
- ios多线程编程(NSThread)(NSOperation )(GCD)
- iOS 多线程开发之OperationQueue(二)NSOperation VS GCD
- iOS多线程编程详情(GCD、NSThread、NSOperation)
- ios多线程操作(七)—— GCD延迟操作与一次性代码
- 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
- ios多线程操作(八)—— GCD调度组
- 小明传球
- 二进制原码,反码以及补码实战
- ios多线程操作(九)—— 用NSOperation代替GCD
- 虚拟机对象探秘
- HDU 2071
- 5.3 一致性
- ios多线程操作(十)—— 用NSOperation开启多线程操作
- 【GCJ2016】 round 1A
- 使用ViewPager动画来做出不一样的引导页
- Spring基础知识汇总
- MPAndroidChart图表类框架的使用