iOS 开发_GCD函数与队列一、初探

2018-12-21  本文已影响0人  iOS_PM_WEB_尛鹏

【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢迎各路豪杰点评改进!

1.应用场景:

多线程神器---GCD,很多开发的场景中,我们都会使用到。

2.实现目标:

探究GCD,这个平时我们经常会用,但是又不知道为什么的盲区???

3.代码说明:【GCD核心:函数和队列】

1)GCD的简介:

什么是GCD???
GCD--->全称 Grand Central Dispatch(重点在Dispatch。调度!)
纯C语言,提供了非常多而且强大的函数
优势:

①GCD是苹果公司为多核的并行运算提出的解决方案
②GCD会自动利用更多的CPU内核(比如双核、四核)
③GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程)程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码。

2)将任务添加到队列,并且指定执行任务的函数
3)队列 调度上都符合FIFO原则(先进先出 ---堆的规则),执行上串行队列依旧可控,并行队列中不一定

①串行队列 --->依次调度,执行结果属于排队规则


image.png

②并行队列 --->并行调度,执行结果属于插队规则, 执行顺序不能把握


image.png
上一篇下一篇

猜你喜欢

热点阅读