简单介绍
GCD 是苹果为了解决多核的并行运算提出的一套解决方案,它可以合理的利用更多的 cpu 内核,它可以自动的管理线程的生命周期,比如说线程创建,任务调度,销毁线程。我们只需要告诉 GCD 要干什么;GCD 是基于 C 语言,同时呢GCD 又引入了 block 语法块, 使用起来更加方便和灵活,基本开发人员都是使用 GCD 来实现一些多线程的开发。
概念介绍
同步 & 异步
这点是针对于任务而言的,任务分为同步和异步两种方式,两者的主要区别就是会不会堵塞当前线程,
对于同步来讲,在任务执行完成之后,才能够执行后面的事情,也就是说会堵塞当前所在线程,异步则不会。
串行 & 并行
这点是对于多线程队列相关的,
串行顾名思义,任务一个一个进行执行,任务完成一个再执行另一个,它对于有着依赖关系的任务非常重要。
并行是指有多个线程同时来执行。
常用线程
dispatch_get_main_queue : 主队列 :
dispatch_get_global_queue : 全局队列 : 一种并行队列