最佳答案
dispatch_barrier_[a]sync
旨在与并发队列一起使用。它们还应与对 dispatch_[a]sync
的调用一起使用。
常见的用法是“多读者,一个作者”模式。您设置了一个并发队列。对于“阅读器” block ,您使用 dispatch_[a]sync
。对于“编写器” block ,您使用 dispatch_barrier_[a]sync
。
此设置允许并发读取,但一次只允许一个写入器,并且在写入时不允许读取。
将此与串行队列进行比较,在串行队列中一次只能发生一个 block 。
关于ios - GCD中的dispatch_barrier_async和串行队列,它们有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39802986/