多线程与并发知识体系概览
问题
iOS 开发中有哪些多线程方案?各自适用什么场景?
答案
知识体系
方案对比
| 方案 | 层级 | 特点 | 推荐度 |
|---|---|---|---|
| pthread | C 底层 | 跨平台,API 复杂 | ⭐ |
| NSThread | ObjC 封装 | 手动管理线程 | ⭐⭐ |
| GCD | C 派发队列 | 高性能,API 直观 | ⭐⭐⭐⭐ |
| NSOperation | ObjC 任务 | 可取消、依赖、优先级 | ⭐⭐⭐⭐ |
| Swift Concurrency | Swift 原生 | async/await、Actor、结构化并发 | ⭐⭐⭐⭐⭐ |
学习路线
推荐顺序
- GCD → DispatchQueue、sync/async、串行/并发
- NSOperation → 任务管理、依赖、取消
- 线程安全 → 锁、原子操作、@Sendable
- Swift Concurrency → async/await、Task、Actor
- RunLoop → 事件循环、NSTimer、performSelector