大中枢派发~~~
由C语言编写的,非常强大
- 它自动利用多核
- 自动管理线程生命周期(就是关于线程的创建和调度还有销毁不需要你管)
理解好两个概念
- 任务:具体的操作
- 队列:存放任务的队列
GCD使用步骤
- 确定任务
- 将任务放到队列中
执行任务有两种方式
- 同步:sync -不开新线程,在当前线程中执行
- 异步:async -开启新线程(在主队列中无法开启新线程)
队列有两种
- 串行:one by one
- 并发:自动开启多个线程同时执行任务,多个任务只在异步执行时有效
GCD有一个全局并发队列get_global
手动创建(create)串行队列serial
- | 串行队列 | 并发队列 | 主队列 |
---|---|---|---|
同步 | 不会开新线程,串行 | 不会开新线程,串行 | 会死锁 |
异步 | 会开一个线程,串行执行 | 会开至少一个线程,并发执行 | 不会开线程,串行 |