下面的代码:
DispatchQueue.main.async {
print(Thread.current)
DispatchQueue.global().sync {
print(Thread.current)
}
}
打印
<_NSMainThread: 0x60000059c140>{number = 1, name = main}
<_NSMainThread: 0x60000059c140>{number = 1, name = main}
从技术上讲,全局队列会找到一个空闲线程来运行任务,这可能是主线程。
是否有明确的规则表明将任务添加到全局队列时将在主线程上执行?
因此,将耗时的任务放入全局队列不会影响主线程。