dispatch_after将操作放在队列中吗?

时间:2015-01-08 04:10:12

标签: ios objective-c grand-central-dispatch

dispatch_after将操作置于队列中吗?也就是说,如果我在多次调用后重新调度,它们是否会执行,就好像每次调用都会在延迟后放入dispatch_async一样?

1 个答案:

答案 0 :(得分:1)

如果你看一下签名:

void dispatch_after ( dispatch_time_t when, dispatch_queue_t queue, dispatch_block_t block );

您可以看到需要提供一个队列来运行该块。文档说这个参数不能为NULL。所以是的,操作被放在一个队列上 - 你告诉它运行的队列。

此外,正如文档所述,该块是异步添加到队列中的,所以是的,它与延迟后的dispatch_async相同。