多线程基础(六)GCD基础

 

更多值得学习的GCD知识,可以学习:

Grand Central Dispatch (GCD) Reference

GCDObjC

 

 

1、GCD的基本概念
 
 
  • 什么是GCD
  • 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器”
  • C语言,提供了非常多强大的函数
  • GCD的优势
  • GCD是苹果公司为多核并行运算提出的解决方案
  • GCD会自动利用更多的CPU内核(比如双核、四核)
  • GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程)
  • 程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码
 
 
多线程基础(六)GCD基础_第1张图片
 
 
多线程基础(六)GCD基础_第2张图片
多线程基础(六)GCD基础_第3张图片
 
 
2、GCD的代码演示
 
首先建议略记下下面的英文单词,真的会有助于你代码的认识,我个人发现像我英语单词不认识几个的,GCD代码涉及到那么多生僻的单词,放在代码里去记忆,容易忘记,容易被旁边的代码的单词干扰。
多线程基础(六)GCD基础_第4张图片
这里的代码多练习几遍,直到不看源码就能敲出来
 
首先是“并发队列”—>”异步函数"
  多线程基础(六)GCD基础_第5张图片
关于“并发队列”—>”异步函数”补充老师的代码:
多线程基础(六)GCD基础_第6张图片
关于“串行队列”—>”异步函数”
多线程基础(六)GCD基础_第7张图片
关于“(全局)并发队列”—>”同步函数”
多线程基础(六)GCD基础_第8张图片
关于“串行队列”—>”同步函数”
多线程基础(六)GCD基础_第9张图片
关于“主队列”—>”异步函数”
多线程基础(六)GCD基础_第10张图片
关于“主队列”—>”同步函数”
多线程基础(六)GCD基础_第11张图片
 
 
3、串行队列介绍
 
多线程基础(六)GCD基础_第12张图片
 
 
异步函数:不需要等待当前代码执行完毕,就可以执行后面的代码
同步函数:要等待当前代码执行完毕,才能继续往下执行
 
 
多线程基础(六)GCD基础_第13张图片
 
GCD线程不是想开多少就能成功开多少的,这个是由CPU性能决定的。当CPU特别好,就能给你成功开很多个线程。
 
 
加载网络图片使用GCD
多线程基础(六)GCD基础_第14张图片
 
小黄人高清图片下载URL:  @"http://g.hiphotos.baidu.com/zhidao/pic/item/42166d224f4a20a4884b622491529822730ed0f8.jpg"
 
4、GCD常用的函数,很强大哦,必须掌握
 
 
最常用,延迟执行
多线程基础(六)GCD基础_第15张图片
 
 
使用栅栏函数
多线程基础(六)GCD基础_第16张图片
 
 
GCD一次性代码
快速敲出一次性代码:
多线程基础(六)GCD基础_第17张图片
 
不能放在懒加载中的,原因是
多线程基础(六)GCD基础_第18张图片
 
GCD快速迭代函数的使用
 
 
什么是迭代:其实就是for循环
 
多线程基础(六)GCD基础_第19张图片
 
  多线程基础(六)GCD基础_第20张图片
 
 
下面通过一个小案例来实现快速迭代
 
需求:让一个文件夹下面的图片全部移动另一个文件夹下面
 
没有使用快速迭代遍历
多线程基础(六)GCD基础_第21张图片
 
使用快速迭代遍历:
多线程基础(六)GCD基础_第22张图片
 
 
 

 

你可能感兴趣的:(多线程基础(六)GCD基础)