gpt4 book ai didi

ios - GCD中的dispatch_barrier_async和串行队列,它们有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 04:04:46 24 4
gpt4 key购买 nike

我发现dispatch_barrier_async的工作机制是,只有在之前加入队列的所有block都完成后才会执行。它的工作方式类似于串行队列。

因此,我不去区分这两种运行模式在GCD中的区别。

enter image description here

最佳答案

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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com