异步和快速同步有什么区别

时间:2020-02-05 21:51:44

标签: ios swift asynchronous

在此示例中,queue.syncqueue.async之间有什么区别

var queue = DispatchQueue(label: "sample", qos: .background)

queue.sync {
   //some code
}
queue.async {
   //some code 
}

1 个答案:

答案 0 :(得分:0)

两个代码段都将闭包添加到队列中。

但是有一个区别。

同步

Synch将等待执行关闭,然后再处理下一行。

因此,在这种情况下,print("Hello")总是在关闭后执行。

queue.sync {
   //some code
}
print("Hello")

异步

在这种情况下,将闭包添加到队列中,然后执行下一行。因此print("Hello")可以在关闭之前执行。

queue.async {
   //some code
}
print("Hello")