GCD
1 基本概念
-
概念: 是 Apple 开发的一个多核编程的较新的解决方法。它主要用于优化应用程序以支持多核处理器以及其他对称多处理系统。它是一个在线程池模式的基础上执行的并发任务
-
优点
- 多核并行运算
- 不需要手动管理线程生命周期
- 自动利用CPU的内核
-
两个基本点: 任务和队列
-
任务:执行操作的意思,在block代码块中执行的代码
- 同步执行 sync :在当前线程中执行任务,不具备开启新的现成本的能力,在当前队列中顺序执行
- 异步执行 async:将任务添加到指定的队列中执行任务,具备开启新的线程的能力。
-
队列:这里的队列指执行任务的等待队列,即用来存放任务的队列。队列是一种特殊的线性表,采用 FIFO(先进先出)的原则,即新任务总是被插入到队列的末尾,而读取任务的时候总是从队列的头部开始读取。每读取一个任务,则从队列中释放一个任务。
- 串行队列:串行执行,任务一个个执行
- 并行队列:并发执行,多个任务同时执行
-