【读书笔记】iOS-GCD-Dispatch Queue
来源:互联网 发布:中国人工智能产品 编辑:程序博客网 时间:2024/06/05 07:50
一,Dispatch Queue的实现:
1,用于管理追加的Block的C语言层实现的FIFO队列。
2,Atomic函数中实现的用于排他控制的轻量级信号。
3,用于管理线程的C语言层实现的一些容器。
二,CGD的好处。
无论编程人员如何努力编写管理线程的代码,在性能方面也不可能胜过XNU内核级所实现的GCD。
使用GCD要比使用pthreads和NSThread这些一般的多线程编程API更好。并且,如果使用GCD就不必编写为操作线程反复出现的类似的源代码(这被称为固定源代码片断),而可以在线程中集中实现处理内容,真的是好处多多。我们尽量多使用GCD或者使用了Cocoa框架GCD的NSOperationQueue类等API。
三,编程人员所使用的GCD的API全部为包含在libdispatch库中的C语言函数。Dispatch Queue通过结构体和链表,被实现为FIFO队列。FIFO队列管理是通过dispatch_async等函数所追加的Block.
Block并不是直接加入到FIFI队列,而是先加入Dispatch Continuation这一dispatch_continuation_t类型结构体中,然后再加入FIFO队列。该Dispatch Continuation用于记忆Bloc所属的Dispatch Group和其他一些信息,相当于一般常说的执行上下文。
参考资料:《Objective-C高级编程 iOS与OS X多线程和内存管理》
0 0
- 【读书笔记】iOS-GCD-Dispatch Queue
- 【读书笔记】iOS-GCD-Dispatch Source
- iOS系统GCD学习(2):Dispatch Queue
- iOS系统GCD学习(2):Dispatch Queue
- ios多线程之GCD dispatch queue
- iOS GCD介绍: 基本概念和Dispatch Queue
- GCD之dispatch queue
- GCD之dispatch queue
- GCD之dispatch queue
- GCD之dispatch queue
- GCD之dispatch queue
- GCD之dispatch queue
- GCD之dispatch queue
- GCD之dispatch queue
- GCD之dispatch queue
- GCD之dispatch queue
- GCD之dispatch queue
- GCD 之一: Dispatch Queue
- hdu 5495 LCS dfs
- HDOJ 5459 Jesus Is Here(打表规律)
- java高并发解决方案
- html编码
- Android UI ActionBar功能-自定义Tab功能
- 【读书笔记】iOS-GCD-Dispatch Queue
- 解决 PL/SQL developer客户端与Oracel 11G服务端字体不同的办法
- java编程思想-接口
- Eclipse之各个版本的区别
- 文章标题
- 隐藏弹出窗口,并启用父窗口
- Matlab-vision包学习-Feature Detection,Extraction and Matching-提取描述子
- iOS编程-------自定义视图CustomView 封装视图LTView 视图控制器UIViewController
- 数据挖掘之异常点检测