在此示例中,queue.sync
和queue.async
之间有什么区别
var queue = DispatchQueue(label: "sample", qos: .background)
queue.sync {
//some code
}
queue.async {
//some code
}
答案 0 :(得分:0)
两个代码段都将闭包添加到队列中。
但是有一个区别。
Synch将等待执行关闭,然后再处理下一行。
因此,在这种情况下,print("Hello")
总是在关闭后执行。
queue.sync {
//some code
}
print("Hello")
在这种情况下,将闭包添加到队列中,然后执行下一行。因此print("Hello")
可以在关闭之前执行。
queue.async {
//some code
}
print("Hello")