更多值得学习的GCD知识,能够学习:html
Grand Central Dispatch (GCD) Reference程序员
一、GCD的基本概念
- 什么是GCD
- 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器”
- 纯C语言,提供了很是多强大的函数
- GCD的优点
- GCD是苹果公司为多核的并行运算提出的解决方案
- GCD会自动利用更多的CPU内核(好比双核、四核)
- GCD会自动管理线程的生命周期(建立线程、调度任务、销毁线程)
- 程序员只须要告诉GCD想要执行什么任务,不须要编写任何线程管理代码
二、GCD的代码演示
首先建议略记下下面的英文单词,真的会有助于你代码的认识,我我的发现像我英语单词不认识几个的,GCD代码涉及到那么多生僻的单词,放在代码里去记忆,容易忘记,容易被旁边的代码的单词干扰。
这里的代码多练习几遍,直到不看源码就能敲出来
首先是“并发队列”—>”异步函数"
关于“并发队列”—>”异步函数”补充老师的代码:
关于“串行队列”—>”异步函数”
关于“(全局)并发队列”—>”同步函数”
关于“串行队列”—>”同步函数”
关于“主队列”—>”异步函数”
关于“主队列”—>”同步函数”
三、串行队列介绍
异步函数:不须要等待当前代码执行完毕,就能够执行后面的代码
同步函数:要等待当前代码执行完毕,才能继续往下执行
GCD线程不是想开多少就能成功开多少的,这个是由CPU性能决定的。当CPU特别好,就能给你成功开不少个线程。
加载网络图片使用GCD
四、GCD经常使用的函数,很强大哦,必须掌握
最经常使用,延迟执行
使用栅栏函数
GCD一次性代码
快速敲出一次性代码:
不能放在懒加载中的,缘由是
GCD快速迭代函数的使用
什么是迭代:其实就是for循环
下面经过一个小案例来实现快速迭代
需求:让一个文件夹下面的图片所有移动另外一个文件夹下面
没有使用快速迭代遍历
使用快速迭代遍历: