【发布时间】:2019-03-07 09:13:09
【问题描述】:
据我了解,swift 中有 3 种类型的 DispatchQueue:
- 主(串行)(主线程)
- 全局(并发)(后台线程并行工作)
- 自定义(并发或串行)
每个都可能工作(异步或同步)
第一个问题:
主队列是否仅在 UI 线程 上工作而不在另一个线程上工作?
如果答案是肯定的,DispatchQueue.Main.async 如何不阻塞 UI 线程。
如果回答否,使用DispatchQueue.global 有什么好处,只要DispatchQueue.Main.async 在另一个线程中工作。
第二个问题:
DispatchQueue.global (async) 和 DispatchQueue.global (sync) 之间有什么区别,只要这个队列工作 并发 并且在哪里使用每一个?
第三个问题:
什么是区别
- (串行和同步)
- (并发和异步)
【问题讨论】:
标签: swift multithreading asynchronous grand-central-dispatch dispatch-queue