额外任务:学习YouXianMing封装好的GCD源码
1、GCD串行队列与并发队列
- 串行队列一次只执行一个线程,按照添加到队列的顺序依次执行
- 并发队列一次可以执行多个线程,线程的执行没有先后顺序
- UI界面所在的线程队列是串行队列
下面使用将基于C语言的GCD封装成面向对象的可复用的源码,资源文件下载地址:
备份百度云下载链接: http://pan.baidu.com/s/1o70XPSu 密码: tgr2

2、GCD延时执行


3、GCD线程组
- GCD线程组的用处
- 用GCD线程组进行事件监听
- GCD线程组使用的场景

4、GCD定时器


NSTimer与GCDTimer的区别是:
NSTimer计时精度比GCDTimer准确。
NSTimer是作用于当前RunLoop当中的,如果把NSTimer作用于TableView里面会出现一些很奇怪的问题。GCD定时器就不存在这些问题。
5、GCD信号量
- 构建并使用GCD信号量
- 用GCD信号量将异步线程转换为同步线

在实际需求某些极端的情况下,会很有用。