Mic*_*Mao 2 ios ios-multithreading
当我尝试 GCD 函数时dispatch_barrier_async,它在由 创建的队列上按预期工作dispatch_queue_create,而当我将它放在由 创建的全局队列上时dispatch_get_global_queue,屏障似乎不再起作用= =,有人可以解释吗?谢谢~
演示图
这并不奇怪,这是有记录的行为。
如果您使用它向您自己创建的队列添加一个块,那么它将阻塞所有其他块,直到完成。如果将其添加到公共队列中,那么它的行为就像dispatch_async
文档位于https://developer.apple.com/reference/dispatch/1452797-dispatch_barrier_async
其中指出:
您指定的队列应该是您使用dispatch_queue_create函数自己创建的并发队列。如果传递给此函数的队列是串行队列或全局并发队列之一,则此函数的行为类似于dispatch_async函数。
| 归档时间: |
|
| 查看次数: |
891 次 |
| 最近记录: |