DispatchQueue.main 和 DispatchQueue.global 在 swift 中是否相同?

DispatchQueue.main and DispatchQueue.global are same in swift?

Dispatchqueue.main 在主线程上运行,global 在后台线程上运行,对吗?如果不是,那有什么区别?

你问:

DispatchQueue.main runs on main thread and global runs on background thread is that correct?

是的,main 队列是一个串行队列,运行s 在主线程上调度任务。

一个global队列利用多个“后台线程”。每个全局队列(一个用于每个“服务质量”,QoS)是一个并发队列,其调度任务 运行 在一个后台线程上,这些线程是从适当 QoS 的工作线程池中提取的。


有关各种类型的调度队列之间差异的描述,请参阅旧版 Concurrency Programming Guide。该文档使用旧的 Objective-C 语法,但一般概念同样适用于 Swift.