DispatchQueue.main和DispatchQueue.global在swift中相同



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

您询问:

DispatchQueue.main在主线程上运行,global在后台线程上运行是正确的吗?

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

global队列本身具有多个"后台线程"。每个全局队列(每个"服务质量"QoS对应一个(是一个并发队列,其调度的任务在后台线程之一上运行,后台线程是从具有适当QoS的工作线程池中提取的。


有关各种类型的调度队列之间差异的描述,请参阅遗留的并发编程指南。该文档使用了旧的Objective-C语法,但通用概念在Swift中同样适用。

最新更新