GCD研究
2015-07-21 15:23
246 查看
深入理解 GCD(一)
GCD 深入理解:第二部分
GCD是基于c的底层api,NSOperation属于object-c类。ios 首先引入的是NSOperation,IOS4之后引入了GCD和NSOperationQueue并且其内部是用gcd实现的。
NSOperation:
1,NSOperation拥有更多的函数可用,具体查看api。
2,在NSOperationQueue中,可以建立各个NSOperation之间的依赖关系。
3,有kvo,NSOperationQueue支持KVO,意味着我们可以观察任务的执行状态。可以监测operation是否正在执行(isExecuted)、是否结束(isFinished),是否取消(isCanceld)。
4,NSOperationQueue可以方便的管理并发、NSOperation之间的优先级。
GCD主要与block结合使用。代码简洁高效。
GCD也可以实现复杂的多线程应用,主要是建立个个线程时间的依赖关系这类的情况,但是需要自己实现相比NSOperation要复杂。
具体使用哪个,依需求而定。 从个人使用的感觉来看,比较合适的用法是:除了依赖关系尽量使用GCD,因为苹果专门为GCD做了性能上面的优化。
相关文章推荐
- 不同数据库标志符长度限制总结
- 一个很好的C++ API函数例子的网站
- uva10361 Automatic Poetry
- 基于TI 8168 RDK 4.0 多路解码
- ZOJ Problem Set - 1241 Geometry Made Simple
- 华为OJ:输出单向链表中倒数第k个结点
- Git用户手册
- 【Ogre编程入门与进阶】第十六章 GPU编程
- hdoj 2577 How to Type 【坑】
- 【玩转cocos2d-x之十九】从CCObject看cocos2d-x的拷贝机制
- 面向对象
- JavaScript垃圾回收机制
- 更换网页tab标题图标
- LAMP服务器环境之编译(部分)安装-php的fastcgi模式
- 安装配置Python+Numpy+Scipy+Matplotlib环境
- linux下导入、导出mysql数据库命令
- WEB 学习笔记第一天
- 利用Hog特征和SVM分类器进行行人检测【仅供参考】
- 通过Dos命令行将特定后缀扩展名和特定程序关联
- Jackson 框架,轻易转换JSON