GCD
Grand Central Dispatch (GCD) 是 Apple 为并发编程提供的一套高效的解决方案。GCD 允许开发者在多个队列中执行任务,从而充分利用多 核处理器的性能,避免编写复杂的线程管理代码。GCD是Apple为了简化多线程开发推出的基础库,不是swift和oc的语言能力。(库: Dispatch)
GCD 的优点
- 简化并发编程:通过队列管理任务,而非直接管理线程。
- 性能优化:自动调整系统资源使用,充分利用多核处理器。
- 提高响应速度:将耗时操作放在后台线程,保持主线程响应。
GCD常用线程和队列
在 iOS 中,Grand Central Dispatch (GCD) 提供了多种优先级的全局队列 (Global Dispatch Queues)。这些队列根据优先级 (QoS, Quality of Service) 来区分,主要包括以下几种:
- User-Interactive (用户交互)
- 最高优先级,用于需要立即执行并确保快速完成的任务,通常用于更新 UI。
- User-Initiated (用户发起)
- 用于用户直接发起的任务,需要在短时间内完成,例如加载数据。
- Utility (实用)
- 中等优先级,适用于需要执行较长时间的后台任务,例如下载文件、数据处理等。
- Background (后台)
- 最低优先级,用于对时间要求不高的后台任务,例如定期数据同步、预加载等。
- Default (默认)