6.多线程基础( 六)GCD基础
2017-10-31 本文已影响6人
峰子1994
1.GCD的基本概念
1.什么是GCD
全称是Grand Central Dispatch,可译为“牛逼的中枢调度器”
纯C语言,提供了非常多强大的函数
2.GCD的优势
GCD是苹果公司为多核的并行运算提出的解决方案
GCD会自动利用更多的CPU内核(比如双核、四核)
GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程)
程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码
image.png
image.png
2.GCD代码演示:
1.并发队列+(异步函数)
image.png1.并发队列+(异步函数)的补充:
image.png2.串行队列+(异步函数)
image.png3.(全局)并发队列+(同步函数)
image.png4.串行队列+(同步函数)
image.png5.主队列+(异步函数)
image.png6.主队列+(同步函数)
image.png3.串行队列的介绍
image.png异步函数:不需要等待当前代码执行完毕,就可以执行后面的代码
同步函数: 要等待当前代码执行完毕,才能继续往下执行
image.png
4.队列使用注意点:
GCD线程不是想开多少就能成功开多少的,这个是有cpu性能决定的,当cpu特比好的时候,就能够开很多个线程!!
加载网络图片使用GCD
image.png//高清图片下载URL:
http://g.hiphotos.baidu.com/zhidao/pic/item/42166d224f4a20a4884b622491529822730ed0f8.jpg
5.GCD常用的函数
1.延迟执行
image.png2.栅栏函数(控制队列中的任务的顺序):
image.png3.GCD一次性代码:
image.png4.GCD快速迭代的使用:(迭代就是for循环)
image.pngimage.png